stm32软件编程的框架及注意事项——rtos篇.docxVIP

stm32软件编程的框架及注意事项——rtos篇.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
stm32软件编程的框架及注意事项——rtos篇 0、通常,嵌?式软件(这?指单?机系统)的框架千变万化,有带rtos的,也有裸机的。 0.1、写过带系统的,也写过裸机的,这?总结?下两个类型的框架,记录下??的?得,主要是?字描述,框架图可以后期添加。 1、freertos框架 、使?标准库,?上有很多?直教程,也有现成移植好的,如果??使?,可以在config?件下,??需要根据项?的??进?系统的裁 剪,这??的教程有很多,官?的,原?的,野?的等等。 、使?hal库,可以直接使?freertos的中间件,在代码中,cubemx其实已经把freertos的接?函数封装了?遍,以?于和原来的freertos的接?函数不?样的,但是实现的功能是?样的,这个宗旨是不能变的。项?中通常采?1000hz的调度频率。 但是使?的?法有些不?样,?如延时函数等,这个可以参考stm32??的教程,?档名称是《STM32 嵌?式操作系统介绍》(或 《STM32RTOS培训_嵌?式操作系统介绍》)这个?档介绍了基本的使??法。尤其是接?函数的使?。英?也有: 、在cubemx中,可以进?系统的裁剪,可以分配多少空间给任务,默认是128字(128×4个字节),最后可以看看还剩多少空间,根据 项?的任务数量来具体分配,还有信号量队列,互斥量,软件定时器?般不怎么?,?的最多的是信号量(?于任务或中断的同步),互斥 量(临界区的数据保护)。 、开发中,?先要将信号量,任务先建?,没有中断的芯?驱动可以?先初始化。 如果外部芯?有中断的,可以最后初始化,因为如果初始化后,芯?就会产??个外部中断,从?调?信号量,但是此时你却没有初始化信 号量,从?导致死机,这个?定要注意! 、可以使??个开始任务,把外设初始化、任务创建放在??,结束后,删除??即可。 、中断基本上使?信号量来同步,这个?标志位更?便,在任务中判断信号量是否有新,?效则?直等待,也可以设置?个等待时间, ?般都是?直等待,这样任务可以挂起,不影响其他任务的运?,这个裸机是有区别的,?且不?清零标志位。 、任务的周期不能太短,100ms基本上ok,50ms也?的,但是这个任务不能长期执?,否则将导致其他任务饥饿,得不到系统运?的时 间。 、任务??尽量不要使?for循环,可以使?计数器的?式代替,?如?个周期只采样?个通道,这个是?较好的?法,否则for循环会导 致占?很多cpu资源,导致其他任务?法运?,或者?个任务,只执?了?半的程序。 、任务基本上采?时间?的?式,其实就是将每个任务的优先级设置为?样,这样系统就会在1ms的时刻运??次某个任务,下1ms运? 下?个任务(就是任务切换),直到所有任务都各?运?了1ms,从头开始运第?个任务。这样基本上不?作临界资源的保护动作。 假如,任务1的延时时间是100ms,程序需要运?30ms,任务2的延时时间是50ms,程序需要运?40ms。那么cpu先在前60ms,间隔运? 任务1、任务2,每次运?1ms,60ms后,任务1已经运?完毕,进?挂起态。任务2继续运?,运?到70ms后,任务2也运?完毕,进?挂 起态,之后到80ms后重新运?任务2。 可以看看下?的?意图。只说明了?概意思,时间点可能不准确,?家也可以提提意见。 2、软件框架: 通信?式使?tcp协议或者modbus协议。 tcp的物理介质是?线,要注意,交叉线和直连线。modbus使?rs485的总线,使?rtu?式。 总的框架是:应?逻辑使?java实现,在pc或?级的cpu处理器(可以跑linux这种),单?机实现底层的驱动。 、上位机下发?条指令——单?机串?接收到数据——检查数据合法性——置位相关的标志位——进??次设备的操作——清零相 关的标志位——结束 、串?接收结合定时器的?法,modbus就是使?的这种,3.5T以上如没有数据了,说明?帧数据已经结束。可以进?数据解析了。 、使?标志位的?的是,命令来?次,我单?机只操作?次设备,众所周知,rtos中单?机有好?个死循环的,?直在运?的,因此标志 位清零后,就达到了?的,以免频繁的操作设备。有的需要?动控制的,那么,就要合理添加标志位,因此标志位的使??较关键的,要好 好规划。 3、另外?种?的较多的是状态机的?法。 通常我们在使?按键的时候会使?状态机的思想,状态机的思想,我最先是在FPGA的课程中?到,后?就陆续在?上看到这单?机中也经 常使?的。因此我在任务中,经常使?到,尤其是与外部设备进?通信的过程中。 、?般串?通信我会分如下?个步骤: 空闲态——这个状态没有任何发送和

文档评论(0)

暗伤 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档