如何在STM32快速创建 FREERTOS和RTX工程呢?

2019-07-14 17:52发布

如何在STM32快速创建 FREERTOS和RTX工程


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
bobnice
2019-07-15 10:23
  1. #define xSemaphoreCreateCounting( uxMaxCount, uxInitialCount ) xQueueCreateCountingSemaphore( ( uxMaxCount ), ( uxInitialCount ) )
复制代码
该宏创建一个 数值型信号量 第一个参数是 信号量最大数值  第二个则为  初始化值
基于串口使用信号量  那么需要如下要求
假设 usart_sem 为串口使用的信号量
每收到一个数据 usart_sem ++  缓冲 1024字节
需要数据的线程 osSemaphoreWait(usart_sem ); 当有数据时 线程被激活  获取数据
如此我们知道 这个信号量的 最大值应为1024
可是使用 ST 的cmsis_os osSemaphoreCreate 创建一个信号亮 osSemaphoreCreate(0,1024);
会出现这样的问题 !  此信号量 被赋予初值1024  意味着 这个信号量将可以被osSemaphoreWait 1024次
显然这不是我们想要
通常  我们需要的数值型信号量  最大值可以很大  但是初值 基本为0,或1

一周热门 更多>