当前位置: 首页 > 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.yayakq.cn/news/633871/

相关文章:

  • 平阴网站建设特效素材免费下载网站
  • 唐河企业网站制作价格天元建设集团有限公司官网
  • 企业服务官网模板seo推广软
  • 做哪个网站零售最好集团管理软件
  • 网站建设项目组工作总结西安做网站云速网络
  • 美橙做过网站案例wordpress 缓存用什么
  • 美食网站策划书做游戏需要学什么
  • discuz网站同步三水做网站
  • 产品网站有哪些传奇手游网页版
  • 域名注册了如何做网站网络口碑营销案例
  • 网站制作零基础学习项目网源码
  • 唐山网站建设找煌途上市公司网站建设方案
  • 网站设计与建设课程怎么利用网站开发app
  • pc网站开发制作会议室效果图制作
  • 建设一个私人视频网站读了成考好后悔啊
  • 潍坊网站建设外包烟台网站建设公司
  • 网站建设公司咨网站设计维护合同
  • 云南建设厅网站安全员报名入口网站美工效果图怎么做
  • 国外网站国内做好还是国外做苏州建设培训中心网站
  • 毕设做网站需要什么技术准备宣传网页模板
  • 小企业来说 电子商务网站服务器的建设方案申请微信公众号
  • 短裙怎么做视频网站wordpress 汉化函数
  • 欣赏艺术类的网站石景山建网站
  • 信誉好的郑州网站建设软件制作是什么专业
  • 商城类网站企业网站建设策划书 前言
  • 自己怎么做卖东西的网站王野天图片
  • 广东网站seo营销短视频推广app
  • 做网站的财务需求直播网站开发平台
  • 好看的网站链接wordpress 谷歌加速插件
  • 网站收录排名东莞诚信通代运营