微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > cc1310例程中Semaphore和Event的问题

cc1310例程中Semaphore和Event的问题

时间:12-23 整理:3721RD 点击:

菜鸟刚开始接触,很多问题不懂,在此向各位请教一下

1)Semaphore和Event各有什么作用?有的是Semaphore_post,有的是Event_post,rfwsnconcentrator中 Event_post是触发事件的,Semaphore的作用呢,不太明白

2)EasyLink_receiveAsync、EasyLink_transmit同时使用,EasyLink_transmit利用了abstime,实现周期性的发送数据固定数据,但是加入EasyLink_receiveAsync后,EasyLink_transmit返回busy,我该怎么实现,比如协调器一方面周期性发送数据,一方面等待接收数据这样的功能?

谢谢各位不吝赐教~

1. 信号量和事件,前者用于对进程间资源访问控制同步的;后者类似软中断,你百度一下会有更多更准确详细的解释,慢慢研究;

2. 执行EasyLink_receiveAsync()后,如果没有收到数据它的rf core 会一直等待接收直到收到数据正常调用rxDoneCallback 释放busyMutex,否则你再进行发送或接收的操作都会返回busy,  其实你可以调用EasyLink_abort()) 再进行发送,就不会有问题

A task can only pend on 1 semaphore at a time. Events can be useful when you want to block on several things, such as Pin interrupt and timer. Both will cause the Task to pend so have no impact on power saving.

An example showing semaphore usage can be seen in the rfEasyLinkRx example. An example of event usage can be seen in the rfWsnConcentrator example.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top