268_S32K144_FreeRTOS的队列

完整的S32K144的学习汇总如下:

https://github.com/GreyZhang/g_s32k144

    继续学习S32K144,结合这个芯片学习一下FreeRTOS的实际应用。这一次,我想先学习一下队列的应用。

    按照文档的解读,这个队列其实确实是有着一个先后关系的意思。但是,这个队列的作用更多的是一个消息传递。今天,我需要做的工作如下:

  1. 使能FreeRTOS中的队列功能;
  2. 创建一个队列信号,实现一个深度的队列信号的的收发测试;
  3. 创建一个多元素的队列,测试多元素队列的行为。

    之后,代码生成,增加如下的代码设计。

    创建一个task,接收队列信号。队列信号的发送通过1000ms的task。

    队列信号在这里发送,每次增加 1。

    这个任务,接收到信号之后执行任务体,每次打印一个字符。这样,软件运行的效果如下:

    看的出,与我们预期的效果一致。

    接下来,试试队列深度的修改。上面的字符其实一共是9个,我们直接把队列深度修改为10,然后,一次发送9个队列信号。

    队列深度修改。

    发送方式修改。至于接收队列的task,不需要修改。软件编译烧写之后运行效果:

    依然如此,但是,这一次的字符串能够感觉得出,一下子全都打印出来了而不像之前每秒钟只有一个字符。其实,这个功能可以给我们一些启示,那就是我们可以借助于这个功能完成一个资源占用不大的printf。

    增加队列的注册功能,允许最多2个队列注册。

完整的S32K144的学习汇总如下:

https://github.com/GreyZhang/g_s32k144

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章