当前位置: 首页 > 工具软件 > smarthome > 使用案例 >

百问网7天物联网smarthome学习笔记1之RTOS引入

微生德运
2023-12-01

我现在的公司是物联网相关的公司,所以就学习了这款物联网开发板,比较偏基础入门的一款开发板,但是资料,视频等还是很多的。

文档和源码资料在百问网的资料下载中心stm32-mini开发板页面中,目前是可以免费下载到的,视频是需要付费的,视频分为基础班和提高班。

基础班最重要的手册是100ASK_STM32F103_MINI用户手册V1.0.pdf,该手册主要是基于HAL库的,目前看到了第9章,讲了相关软件安装,介绍了资料是如何下载的,包括st原厂资料,比较了四种开发模式,基于寄存器的开发方式可以放到后续拔高,相关的视频是韦老师的“ARM架构与编程”。给我印象深刻的是对时钟树的讲解,每一行的代码都跟时钟树对应上了。

目前工具100ask_stm32f103_tools.exe,在win7上运行不了,只能运行的win10和win11上,如果要下载程序调试程序,就用stlink吧。

开发方式比较

1、裸机开发之轮询方式

  • 轮流查询是否要处理当前任务,如果要处理则所有的CPU资源都用来处理当前任务,其他任务需要等待当前任务处理完毕之后才有机会执行。

轮询方式缺点1:任务之间相互干扰非常严重,一旦某些任务耗时很长,后续任务就会等待很长时间才会有机会执行。

轮询方式缺点2:无法及时响应重要任务。

2、裸机开发之事件驱动方式

  • 事件,某个硬件产生一个脉冲信号通知另一个硬件根据此信号做处理称之为事件,如定时器每隔10ms触发ADC去采样,过程中一般不需要CPU参与,称之为事件。

  • 中断,一般需要CPU去处理,如ADC采样完成,通知CPU这个动作就叫中断。

3、裸机开发之轮询与事件的组合

  • 在实际开发中一般是轮询与事件驱动的组合,即将中断中耗时的动作放到轮询中处理。

4、RTOS的引入

  • 裸机开发明显的缺点是各个任务之间串行执行,时间上互相影响,鉴于裸机开发的缺点引入了RTOS
 类似资料: