在串口传输方面需要一些帮助

时间:2012-05-10 05:55:40

标签: c serial-port microcontroller 8051

我目前在Keil C51编程上使用DS89C450 MCU。

我有一个红外接收器连接到P3 ^ 2,它是下降沿触发器。每当我按下遥控器上的一个键时,它将触发中断并将其保存到xdata X或Y(逐位,然后逐字节,500字节)。

我正在尝试通过串行端口将数据位(“1”或“0”)从缓冲区传输到超级终端。但是,当我按遥控器时,我没有显示任何数据。

任何专家都能告诉我为什么以及如何让它发挥作用?

该计划在这里:

http://pastebin.com/hpAw2ipH

1 个答案:

答案 0 :(得分:1)

谷歌“终端由br @ y”,它可以在HEX中显示串行通信。大多数UART不能发送一个比特,而是发送N比特的字符,通常为7或8,具有开始/停止/奇偶校验位(8位,无奇偶校验,1个停止位是通用默认值)。它可以让生活更容易,将数据编码为ASCII,甚至可以使用开始/停止字符,因此您知道何时获得真实数据。

有关更多详细信息,请使用示波器,BusPirate或LogicSniffer(来自DangerousPrototypes.com)来嗅探通信数据。