神奇了,上次那个裸机程序,只是用stm32cubeide开启了freertos,稍微改一改居然跑起来了。
然后创建了三个任务
默认的任务放了用户初始化函数,运行后删除任务;
任务一,放原本1ms定时器中断内的东西,osdelay(1)就可以。
任务二,放原本主函数内,非通讯部份的东西,osdelay(1)。
任务三,放通讯部分,因为由AT的/mqtt的,所有以前有很多hal_delay,慢的很。都改成了osdelay。
然后一个软件定时器,放原本RTC秒中断的东西。
其他啥都没改,就跑起来了。。。
但是还有很多的全局变量、结构体、数组。这些东西该怎么改?
用信号量来替换全局变量?
用队列来替代数组?
好像不是所有的变量都需要替换掉吧?接收缓存的数组应该还可用,只是需要多个地方访问的数组应该用消息队列。是这样吗?
以前学过一点freertos,队列、互斥信号量等都知道,但是就是不知道怎么用。
@dirtwillfly @m564522634 @xyz549040622 @ufbycd
|