0

我对 pic18f452 和 uart 有疑问,我使用最简单的代码:

 UART1_Init(9600);              // Initialize UART module at 9600 bps
 Delay_ms(100);                 // Wait for UART module to stabilize

在永远的while循环之间我有这个代码

  UART1_Write_Text("HELLO2");
  Delay_ms(1000);

我的硬件液晶模块也有它工作得很好但是我在电脑上收到的数据是这样的废料

???m

我已经检查了所有连接时间都没有错,我也更换了 MAX232 ic,但没有运气?!我的硬件就是这样 在此处输入图像描述

最后我所有的连接都正常(极性和其他一切?)编辑:我使用 mikroc 作为编译器

4

3 回答 3

2

看起来像波特率错误。您是否检查过您的振荡器设置是否产生了预期的频率?您正在使用的串行库是否期望某个时钟频率并且您确定您正在以该频率运行,或者它是否在一组频率上工作并且您已正确通知串行库您正在使用什么频率?此外,将接收到的字节视为十进制或十六进制数字而不仅仅是 ASCII 也会很有用。

于 2011-07-18T07:14:13.370 回答
0

起始位、数据位数、奇偶校验位和停止位呢?它们在两端是否相同?

于 2011-07-16T15:41:21.310 回答
0

当您的连接松动时会发生这种情况,即从 max 232 到 Pic 以及从 max 232 到 PC。尝试检查传输引脚或 usr Oscilloscope 上的波动,以查看 Hello World 字母的 ASCII 值。

于 2014-01-10T18:32:02.003 回答