完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试使用 SDK 的 SHELL 模块和 RT1010 的 CDC USB 接口进行基本演示。
将 shell 演示应用程序与 hello world cdc 演示应用程序合并后,我无法从串行接口正确接收数据。 问题是 Shell 演示单独运行完美,但我需要非阻塞模式,然后 hello world cdc 演示在非阻塞模式下运行完美。合并时,我可以将串行接收调试到串行管理器回调的 ISR,例如我发送一些串行命令并在SerialManager_RxCallback 函数中设置断点 ,但后来我看到代码从未到达函数 SerialManager_Task(handle); 这是非阻塞点,而不是调用 SHELL_Task(s_shellHandle); 从主循环,因为这将阻塞直到退出。拿到ISR调用 SerialManager_Task后, 这确实会调用注册的回调,比如 serialWriteHandle->callback。 在 SHELL_SerialManagerRxCallback 下,当启用非阻塞时, 将产生对 SHELL_Task 的调用。 现在我发现我可能遗漏了一些东西的结果,在击中串行管理器 ISR 之后,有一行检查是否存在某些缓冲区,例如 if ((handle->openedReadHandleHead != NULL) && (handle->openedReadHandleHead->transfer.buffer != NULL))这个缓冲区实际上是 NULL。 我已经看到这个缓冲区被初始化的唯一地方是在函数 SerialManager_ReadNonBlocking 下, 我已经尝试在手前调用这个函数但是后来我注意到在 SerialManager_RxCallback 的更下方 , 在我收到数据之后有一个 if 子句它输入不做任何事情,例如
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1912个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36362 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4401 浏览 0 评论
6055 浏览 1 评论
6768 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4218 浏览 0 评论
621浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
618浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
610浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
696浏览 2评论
799浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 21:59 , Processed in 0.955194 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号