cw937375431 2015-11-12 08:20 采纳率: 0%
浏览 3196

求大神解决,串口通信调试工具发出的一个字节和收回来的字节不一样

电脑与PIC单片机的UART1B收发口通信,电脑串口调试工具发送0x01发回来一个0xc0,
下面是接收中断的程序:
void __ISR(_UART_1B_VECTOR, IPL6SOFT) IntUart1BHandler(void) //
{
if (INTGetFlag(INT_SOURCE_UART_RX(UART1B)))
{
if (UARTReceivedDataIsAvailable(UART1B))
{
RecBuff1b[rec1b_cnt] = U1BRXREG;;
U1BTXREG = RecBuff1b[rec1b_cnt ++];
INTClearFlag(INT_SOURCE_UART_RX(UART1B));
}

}
if (INTGetFlag(INT_SOURCE_UART_TX(UART1B)))
{
    INTClearFlag(INT_SOURCE_UART_TX(UART1B));
}

}
运行之后发个01,得了个c0,而且RecBuff1b[0]=0xc0,是不是说明是接收寄存器U1BRXREG接收到的数据有问题,之后的部分是没问题的。
随后我发01 02 03 04 01 02 03 04,得到的是c0 e0 e0 f0 c0 e0 e0 f0。
所以我想知道为什么接收数据不正确呢?

  • 写回答

4条回答 默认 最新

  • cw937375431 2015-11-12 08:30
    关注

    波特率之前是对应的19200,我刚刚调成对应是9600之后,电脑发送01 02 03 04 01 02 03 04,读到的变成了FE FC FC F8 FE FC FC F8。
    这是不是可以说明点什么?

    评论

报告相同问题?

悬赏问题

  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办
  • ¥15 vue2登录调用后端接口如何实现