WinCE 串口驱动 第一个字节出错的问题.

hjshhyy 2009-05-27 10:34:49
我在调一个Windows CE 5 的串口驱动程序. 该程序第一个字节常常出错. 发送的0x41, 收到的却是0. 不懂.

我在调试过程中, 想在发送程序HW_XSC1_TxIntrEx中用一个字节变量读取发送的内容, 然后在接收程序HW_XSC1_RxIntr中用这个字节变量和串口接收的字节内容比较. 来看发送是否有错. 但我又不知道变量如何传递. 我试过static variable, 也试过extern variable. 都行不通? 有什么办法没有? 未必要搞个结构变量?

请高手指教. 先谢了.
...全文
131 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjshhyy 2009-10-21
  • 打赏
  • 举报
回复
很久了, 忘记结帖了. FIFO出了问题. 包大了一些. 导致丢包.
zozowit 2009-05-30
  • 打赏
  • 举报
回复
把相关寄存器值打出来看看是不是对的,有一些默认值可能不是我们想要的,比如有的芯片,默认校验位置1,而可能需要的确是0;
hjshhyy 2009-05-28
  • 打赏
  • 举报
回复
break point 早就有了.
hjshhyy 2009-05-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 morris88 的回复:]
先清空串口缓存的无效数据
[/Quote]

It is cleared in init.
hjshhyy 2009-05-28
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 papapa123123 的回复:]
1,怎么收的?直接将TX和RX短接?
2,你在底层驱动中的HW_XSC1_TxIntrEx 发送中保存,在接收HW_XSC1_RxIntr中比较发送中保存的数据?
[/Quote]

yes to all of your questions.

我用的双重比较. 另一个应用测试程序也在比较发送和接收的数据. 在驱动程序HW_XSC1_RxIntr中也比较发送的数据.
shuiyan 2009-05-27
  • 打赏
  • 举报
回复
直接用debug,设好断点,当接收到一个数据后就中断,看值,省的麻烦。
papapa123123 2009-05-27
  • 打赏
  • 举报
回复
1,怎么收的?直接将TX和RX短接?
2,你在底层驱动中的HW_XSC1_TxIntrEx 发送中保存,在接收HW_XSC1_RxIntr中比较发送中保存的数据?
morris88 2009-05-27
  • 打赏
  • 举报
回复
先清空串口缓存的无效数据
wxf0204 2009-05-27
  • 打赏
  • 举报
回复
恩,还是直接用断点检查吧。看看当前值的变化问题。这种问题的原因比较多。

19,504

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧