当前位置: 首页 > news >正文

长春做商业平台网站济南网站建设哪家好

长春做商业平台网站,济南网站建设哪家好,网站重要性,登封做网站优化(四)Protues仿真STM32单片机使用定时器控制LED – ARMFUN 定时器在单片机中具有重要的作用,它可以提供精确的时间控制和事件触发功能。相比之下,使用延时函数(delay function)来实现时间控制存在以下一些坏…

(四)Protues仿真STM32单片机使用定时器控制LED – ARMFUN

定时器在单片机中具有重要的作用,它可以提供精确的时间控制和事件触发功能。相比之下,使用延时函数(delay function)来实现时间控制存在以下一些坏处:

  1. 阻塞程序执行:使用延时函数会导致程序在延时期间无法执行其他任务,因为延时函数通常是通过循环等待一段时间来实现的。这会浪费处理器的计算资源,并且可能导致程序响应变慢或失去实时性。
  2. 不精确的时间控制:延时函数的延时时间通常是通过估算或试错来确定的,而不是精确的时间控制。这意味着延时函数的实际延时时间可能会受到许多因素的影响,如处理器速度、其他任务的执行等。这样就无法保证在不同的环境下延时时间的准确性和一致性。
  3. 无法处理并发事件:延时函数只能提供固定的延时时间,无法根据实际情况处理并发事件。例如,在需要同时处理多个事件或任务的情况下,延时函数无法灵活地调整延时时间以适应不同的事件触发。

相比之下,定时器可以解决上述问题,并提供更灵活和精确的时间控制。定时器可以设置特定的时间间隔,并在达到指定时间间隔时触发相应的事件或任务。它可以在后台运行,不会阻塞程序的执行,并且可以处理并发事件。定时器还可以提供更高的精度和稳定性,以满足实时性要求。

因此,使用定时器而不是延时函数可以提供更好的时间控制和任务调度能力,提高程序的效率和可靠性。

再上一篇文章中,我们使用HAL_Delay()函数实现延时切换灯的状态,是非常糟糕的代码设计模式,在CubeMX生成的代码中,默认已经启动了系统定时器,定时中断1毫秒。我们只需要重写定时器中断回调函数即可。下面的代码重新实现了led灯的控制,由于使用了定时器计时模式,不会造成主循环CPU空转不能处理其它任务的问题了。

在main.c文件中增加一个变量led_delay和 HAL_IncTick函数如下,可以在keil项目中搜索这个函数,这样函数原来定义的地方有__weak前缀,代表函数可以重写,HAL_Delay()用到了uwTick,所以重新时保留原来的代码,增加led_delay++;

int led_delay=0;
void HAL_IncTick(void)
{uwTick += uwTickFreq;led_delay++;
}

while循环中改成如下代码:

while(1)
{if(led_delay==500){HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);}else if(led_delay==1000){HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);led_delay=0;}
}

这里注意主循环内没有耗时的任务,所以每毫秒内会循环多次,所以在led_delay==500时会多次调用HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);虽然目前看起来正常,但最好避免这种情况,修改后的代码如下

while(1)
{static char led_on_flag=0;if(led_delay>=500){if(led_on_flag==0){       HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET); led_on_flag=1;        }else{HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);led_on_flag=0;}led_delay=0;}
}
http://www.dt0577.cn/news/42879.html

相关文章:

  • 北京网站建设排名小程序开发文档
  • 网站开发语言更换seo营销技巧培训班
  • 青岛网站建设小公司排名网站开发步骤
  • wordpress模仿b站的主题天堂网
  • wordpress function requireseo北京优化
  • 毕业设计做网站做什么好爱站网关键词挖掘查询工具
  • 做网站收入怎么样千锋教育的官网
  • 做的网站 如何在局域网内访问如何优化网络速度
  • 欧洲男女做受视频网站广州头条新闻最新
  • 本地搭建php网站网站优化查询代码
  • 用ps怎么做网站导航条互联网营销方式
  • 网站内部结构优化公司网站优化方案
  • 微信小程序游戏开发一个多少钱太原seo报价
  • 众讯 网站建设百度查关键词显示排名
  • 威海做网站公司苏州百度 seo
  • 东莞网站建设外贸百度客服怎么联系
  • 网站可信度必须做吗seo关键词布局
  • 小学生个人网站怎么做网络营销概念是什么
  • 做网站用哪个软件写比较好网站域名查询工具
  • 福永电子烟网站开发李勇seo博客
  • 网站 电信已备案 联通重庆森林经典台词 凤梨罐头
  • 那个网站可以做微课推广软文发稿
  • 做外贸一般用什么网站好郑州seo网络推广
  • 做网站拿来卖如何给企业做网络推广
  • 电商思维做招聘网站网页友情链接
  • 自助网站制作系统源码郑州seo关键词排名优化
  • 网站开发留言板门户网站有哪些
  • 企业网站建设兴田德润地址东莞百度seo排名
  • 公司网站做推广支出分录淘宝关键词热度查询工具
  • 餐饮网站建设最近新闻内容