完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,我希望我能从和声专家那里看一看。我已经将HARMony引导加载程序代码(因为我希望我的主应用程序具有与引导加载程序相同的串行分组结构,以便于主机端实现)改为UART命令解释器。为了在发送/应答端处理多个客户端,我决定使用带有中断的缓冲队列和动态驱动程序。但是过了一会儿(~100个命令)DRV_USART_BufferAddWrite()返回一个无效句柄,即使只有一个客户端,每个命令只有一个应答。在接收/传入命令端一切都正常。奇怪的是:我首先使用DRV_USART_Client.()测试驱动程序状态然后,在我试图通过关闭驱动程序(重新打开)来清除错误之后,执行被卡在一个循环中,等待迭代器去NULL清除读取队列。我对调试C++/STL的GUT GUT没有兴趣,但它似乎很重要。我想知道,在某种程度上,接收和发送缓冲句柄来自于C++/Engin在和谐实现中支持的组合池是否会引起问题。我已经转换了Bootloader的接收器逐字节处理传入数据(因为数据包是可变长度)。也许RX进程耗尽/泄漏可用的缓冲句柄?这里是状态机:缓冲事件处理程序:我确实承认我可能不是“驱动驱动程序”完全正确……但是我不知道怎么办。根据Harmony系统的意图,从中断调用驱动程序任务,到目前为止,我的测试只在1Hz下进行命令。我的开发系统:PIC32MZ(2048ECH144)EC启动器包,MPLABX 3.10,XC32 1.40,Harmony 1.06,谢谢!
|
|
相关推荐
1个回答
|
|
更新:我从中断驱动到MHC中的任务驱动操作,重新构建,并在没有故障的情况下运行过夜。未生成未生成代码的单个部分。看起来很有可能USART驱动程序的和谐缓冲队列/中断版本有问题,具有讽刺意味的是,不能容忍中断。
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
776浏览 1评论
665浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
594浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
675浏览 0评论
575浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:40 , Processed in 1.111737 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号