完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-7 08:44 编辑
代码看到这里 while(1) [ #ifdef RFEASYLINKRX_ASYNC EasyLink_receiveAsync(rxDoneCb, 0); /* Wait 300ms for Rx */ if(Semaphore_pend(rxDoneSem, (300000 / Clock_tickPeriod)) == FALSE) [ /* RX timed out abort */ if(EasyLink_abort() == EasyLink_Status_Success) [ /* Wait for the abort */ Semaphore_pend(rxDoneSem, BIOS_WAIT_FOREVER); ] ] #else 1.在EasyLink_receiveAsync(rxDoneCb, 0);中已经有回调函数行使Semaphore_post,那之后的Semaphore_pend(rxDoneSem, (300000 / Clock_tickPeriod)) 不是会立即触发?怎么样在没有收到数据的时候等待300ms? 2.我记得在rfpacket例程中进入接收模式是永久性的,EasyLink_receiveAsync是否也是一样?还是接收完数据会退出接收模式? 3.Semaphore是确保同步的逻辑吧?函数中为什么会使用Async字眼呢? 也许问题问的很菜鸟,还请ti工程师们不吝赐教,O(∩_∩)O谢谢 |
|
相关推荐
7个回答
|
|
求解答
|
|
|
|
xin wang22, 在RFEASYLINKRX_ASYNC 模式下,是300ms开窗RX,然后结束,循环模式。 不是在RFEASYLINKRX_ASYNC下,则是一直RX,不停。 |
|
|
|
骑猪去天山 发表于 2018-6-6 11:39 我调试了一下,在RFEASYLINKRX_ASYNC模式下接收函数接收到了后会触发回调函数,回调函数中有post解除占用,此时接收已经结束了吧。另外在等待接收的过程中是否可以执行主程序?一段时间后再检查信号量是否post以实现异步? |
|
|
|
骑猪去天山 发表于 2018-6-6 11:46 xin wang22, 是的,此时接收已经结束。 在pending的状态下,其他task是可以继续执行的,只是这个task在pending。咱们这里的做法首先是等300ms,如果没有接收完成,就自己abort。abort成功的话会发semaphore。所以在abort函数调用之后就在那里forever pending。这个时候其他task也可以继续执行。 |
|
|
|
骑猪去天山 发表于 2018-6-6 12:04 明白了,谢谢解答,另外task是否是根据优先级循环顺序执行的?如果一个task中死循环就不会执行其他task了是吗? |
|
|
|
xin wang22, 是的。这是RTOS的知识了。 Task都是有优先级的,优先级高的task有更高的执行优先,整个系统说白了还是时间片轮转,作为一个单核的MCU,如果其中一个task在跑wihle(1) 死循环且中间没有用pending之类的方式让出时间给其他task,那么整个系统就挂起了。 你可以上网搜索一下RTOS的介绍。 TI RTOS也是有user guide的,你可以在安装目录下找到:C:TItirtos_cc13xx_cc26xx_2_16_00_08docs |
|
|
|
骑猪去天山 发表于 2018-6-6 12:31 好的,谢谢解答 |
|
|
|
只有小组成员才能发言,加入小组>>
313 浏览 1 评论
517 浏览 2 评论
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
757 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
643 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1114 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
226浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
181浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
46浏览 13评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
149浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
158浏览 12评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 01:01 , Processed in 0.912842 second(s), Total 89, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号