独望枫

人在尘世间,有缘自相见,变化千千万,未开窍,已迷恋
posts - 32, comments - 0, trackbacks - 0, articles - 1
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

2021年7月14日

posted @ 2021-07-14 02:41 小菜枫 阅读(569) | 评论 (0)编辑 收藏

     摘要: 主要是FreeRTOS的定时器使用示例,及过程中的一些错误解决。
定时器实现方式包含动态、静态。  阅读全文

posted @ 2021-07-14 02:29 小菜枫 阅读(54) | 评论 (0)编辑 收藏

     摘要: 任务通知
> 每个RTOS任务都有一个32位的通知值,任务创建时,这个值被初始化为0。RTOS任务通知相当于直接向任务发送一个事件,接收到通知的任务可以解除阻塞状态,前提是这个阻塞事件是因等待通知而引起的。发送通知的同时,也可以可选的改变接收任务的通知值。
可以通过下列方法向接收任务更新通知:
○ 不覆盖接收任务的通知值
○ 覆盖接收任务的通知值
○ 设置接收任务通知值的某些位
○ 增加接收任务的通知值  阅读全文

posted @ 2021-07-14 02:24 小菜枫 阅读(53) | 评论 (0)编辑 收藏

     摘要: FreeRTOS线程间通信的方式之一,事件。
事件依赖于动态申请内存,只要开启了该宏,事件相关的功能同时被开启,但如果要使用事件相关的宏/函数,还需要添加对应的头文件……  阅读全文

posted @ 2021-07-14 02:20 小菜枫 阅读(71) | 评论 (0)编辑 收藏

     摘要: FreeRTOS的线程间通信方式之一,消息队列。
demo示例包含动态和静态创建消息队列……  阅读全文

posted @ 2021-07-14 02:17 小菜枫 阅读(42) | 评论 (0)编辑 收藏

     摘要: FreeRTOS的线程间通信方式之一,信号量。
信号量包含二值信号量、计数信号量的使用示例……  阅读全文

posted @ 2021-07-14 02:12 小菜枫 阅读(66) | 评论 (0)编辑 收藏

     摘要: FreeRTOS的线程间同步方式之一,临界区。
临界区是提供互斥功能的一种原始方式,可以简单粗暴的实现线程之间的互斥,确保线程间数据同步是稳定可信的
> 临界区有两种,一种是关闭中断及系统任务的
taskENTER_CRITICAL();
taskEXIT_CRITICAL();
另一种是关闭系统任务调度(禁止系统任务调度,直到重新开启任务调度)的
vTaskSuspendScheduler(); / vTaskSuspendAll();
vTaskResumeScheduler(); / vTaskResumeAll();  阅读全文

posted @ 2021-07-14 02:07 小菜枫 阅读(42) | 评论 (0)编辑 收藏

     摘要: FreeRTOS线程间同步的方式之一,互斥量
互斥量是一种特殊的信号量!!!
- 所以其句柄依然是xSemaphoreHandle类型  阅读全文

posted @ 2021-07-14 02:04 小菜枫 阅读(67) | 评论 (0)编辑 收藏

     摘要: FreeRTOS从移植实现命令行功能的过程记录  阅读全文

posted @ 2021-07-14 02:01 小菜枫 阅读(86) | 评论 (0)编辑 收藏

     摘要: 基于STM32CubeMX生成的STM32 MDK工程,移植FreeRTOS源码
并通过动态和静态创建线程(任务)的过程  阅读全文

posted @ 2021-07-14 01:41 小菜枫 阅读(65) | 评论 (0)编辑 收藏