您好、欢迎来到现金彩票网!
当前位置:秒速牛牛官方网站 > 调试例程 >

FreeRTOS-Qemu 实现三任务同步通信机制以及API信息

发布时间:2019-07-03 06:36 来源:未知 编辑:admin

  clone项目到本地电脑的Ubuntu虚拟机中(虚拟机环境在第一次作业中已搭建)。

  代码完成后提交到自己的github账号上,确保助教可以正常的clone并编译运行。

  说明:创建一个新的队列。为新的队列分配所需的存储内存,并返回一个队列处理。

  注意:项目通过复制而不是引用排队,因此,所需的字节数,将复制给每个项目。队列中每个项目必须分配同样大小。

  返回:如果队列成功创建,则返回一个新建队列的处理。如果不能创建队列,将返回0。

  void *pvBuffer, 指向缓冲区的指针,将接收的项目被复制进去

  说明:这个项目通过复制接收,因此缓冲器必须提供足够大的空间。这个函数一定不能在中断服务程序中使用当队列空时,肯定复制传递不成功,则等待xTicksToWait 个滴答周期后再复制,但如果xTicksToWait 设置为0,调用将立即返回。

  首先,采用全局变量来统领发送的数据和接收到的数据,通过在main函数外声明了一个发送数据的和,一个接收数据的和,一个队列用于传递由于周期不对等的发送和接受的数据。然后Sender_Task用于2ms发送一个数据,从1-10000循环,Receiver_Task 用于1000ms接收一波数据,大概是500个左右,所以队列的大小我定为510 ,虽然有不小的浪费,但是至少不会数据溢出。最后的Monitor_Task用于判定是否正确的发送和接受,所以这个时候就要用到两个全局变量,在10000ms的周期内判定一次是否两个数据和相等,如果发送的数据之和等于接受的数据之和,那么就毫无疑问的,发送没有问题。而且由于我规定,优先级上,MonitorReceiverSender ,所以可以保证不会发生数据竞争导致的错漏。如果正确,那就亮绿灯,错误就是红灯,事实显示,一直是正确的!!

http://sec-ir.com/diaoshilicheng/540.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有