查看: 803|回复: 0

[经验] 【NUCLEO-L452RE测评】

[复制链接]

该用户从未签到

发表于 2021-1-20 15:34:49 | 显示全部楼层 |阅读模式
分享到:

到今天为止,我觉得FREERTOS就是CMSIS-RTOS只不过看其封装了哪个操作系统,除了FREERTOS外我现在见到的,还可封装MDK自带的Keil RTX。但我只用CMSIS-RTOS就得了。

毕竟要站在巨人的肩膀上。

我今天看了下事件。我觉得MDK把事件说得很清楚,每个任务只要建立了就有16个事件位。也不需要建立什么事件标识。


但事件,英语翻译过去应为EVENT,可是CMSIS-RTOS确定义为signal这个旗标的那个信号Semaphone,而STM32CUBE里边也没有处理好。只是一个框架子。



根本定义不了什么,我这个人比较懒,能不动手写就不动手写,但这个事件没有定义,只有自己写了:

接上个程序:

1,定义一个线程,在这个线程里向默认任务发事件。

2,默认任务收到后,打印出数量,就这些。


  • /* USER CODE END Header_StartTask02 */
  • void StartTask02(void const * argument)
  • {
  •   /* USER CODE BEGIN StartTask02 */
  •   /* Infinite loop */
  •   for(;;)
  •   {
  •     osDelay(1000);
  •                 osSignalSet(defaultTaskHandle,0x01);
  •   }
  •   /* USER CODE END StartTask02 */
  • }


  • /* USER CODE END Header_StartDefaultTask */
  • void StartDefaultTask(void const * argument)
  • {
  •   /* USER CODE BEGIN 5 */
  •         uint32_t count;
  •   /* Infinite loop */
  •   for(;;)
  •   {
  •     osSignalWait(0x01,osWaitForever);
  •                 {
  •                 count++;
  •                 osDelay(1);
  •                 LCD_ShowNum(10,80,count,5);
  •                 }
  •   }
  •   /* USER CODE END 5 */
  • }


运得结果是每隔一分钟就显示一个加1值。


写了这么多,FREERTOS(CMSIS-RTOS)我觉得就够用了。至于怎么用,那就是经验和失败的叠加。也许下次还有个互斥量要做一下。

我觉得那个玩意在工作中没多大用,互斥只是解决优先级反转。我反正用不上


回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-24 00:40 , Processed in 0.106700 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.