完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
本帖最后由 一只耳朵怪 于 2018-5-31 14:56 编辑
开启 POWER_SAVING 后,由于需要用到定时器,所以做了以下工作: 1.收到协调器发来的消息后调用了 (void)osal_pwrmgr_task_state(Hal_TaskID, PWRMGR_HOLD); 2.开启定时器进行相关工作 3.使用完定时器后调用了 (void)osal_pwrmgr_task_state(Hal_TaskID, PWRMGR_CONSERVE); 4.然后调用AF_DataRequest() 发送消息给协调器 然后程序就卡死在 ac_sleep.c 文件中的macSleepWakeUp() 中的 MAC_RADIO_tiMER_WAKE_UP(); 请问这种情况怎么解决啊? 谢谢 |
|
相关推荐
8个回答
|
|
|
排查下晶振部分,用的是internal还是external?
|
|
|
|
|
|
添加了 OSC32K_CRYSTAL_INSTALLED=FALES 的 |
|
|
|
|
|
|
|
|
|
|
|
CC2530,只要没有调用使用定时器那个函数,消息的发送就是正常的,调用了后发送消息就卡死在MAC_RADIO_TIMER_WAKE_UP()了 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
设备只要没有调用使用了定时器那个函数就不会卡死在 MAC_RADIO_TIMER_WAKE_UP() ,并且定时发送的心跳也是正常的,但是只要调用了那个函数,就会卡死在MAC_RADIO_TIMER_WAKE_UP() |
|
|
|
|
zsyat 发表于 2018-5-31 07:19 问题解决了,原来是协议栈中的MAC_RADIO_TIMER_WAKE_UP() 这个函数中的判断有点问题,其中的while (CLKCONSTA != (CLKCONCMD_32MHZ | OSC_32KHZ));这个判断如果在代码中改过定时器配置就会卡死 想问下这个代码是否可以改成 while ((CLKCONSTA & 0xC0) != (CLKCONCMD_32MHZ | OSC_32KHZ)); |
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1756浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1723浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 00:40 , Processed in 0.647950 second(s), Total 56, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
2044