完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
老师们好,初次接触2.4G芯片,今天尝试2.4G直接发送、接收,但没搞清楚如何主动控制手法,请指点一下,函数中的SBP_RF_PERIODIC_EVT位应该是与发送有关,这个应该怎么控制呢,或者有没有相关的说明资料发我学习下也可以,谢谢。
/********************************************************************* * @fn RF_ProcessEvent * * @brief RF 事件处理 * * @param task_id - 任务ID * @param events - 事件标志 * * @return 未完成事件 */ uint16_t RF_ProcessEvent(uint8_t task_id, uint16_t events) { if(events & SYS_EVENT_MSG) { uint8_t *pMsg; if((pMsg = tmos_msg_receive(task_id)) != NULL) { // Release the TMOS message tmos_msg_deallocate(pMsg); } // return unprocessed events return (events ^ SYS_EVENT_MSG); } if(events & SBP_RF_START_DEVICE_EVT) { tmos_start_task(taskID, SBP_RF_PERIODIC_EVT, 1000); return events ^ SBP_RF_START_DEVICE_EVT; } if(events & SBP_RF_PERIODIC_EVT) { RF_Shut(); RF_Tx(TX_DATA, 10, 0xFF, 0xFF); tmos_start_task(taskID, SBP_RF_PERIODIC_EVT, 1000); return events ^ SBP_RF_PERIODIC_EVT; } if(events & SBP_RF_RF_RX_EVT) { uint8_t state; RF_Shut(); TX_DATA[0]++; state = RF_Rx(TX_DATA, 10, 0xFF, 0xFF); PRINT("RX mode.state = %xn", state); return events ^ SBP_RF_RF_RX_EVT; } return 0; } |
|
相关推荐
1个回答
|
|
这里的发送是通过TMOS管理时间进行定时的发送处理,但是具体2.4G往外发包是在底层进行的处理,因此你可以修改对应TMOS任务的时间参数会发现收发的速度会随之变化,底层目前暂不开放,可以先从应用层着手查看。
|
|
|
|
只有小组成员才能发言,加入小组>>
491 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2884 浏览 2 评论
2374 浏览 1 评论
834浏览 2评论
511浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
378浏览 1评论
657浏览 1评论
riscv-none-embed-objcopy: \'PWM_Output.elf\': No such file这个咋解决,
394浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-2 09:10 , Processed in 0.800938 second(s), Total 48, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号