浪漫先生 发表于 2014-3-12 15:40:07

ATMEGA 328P 的串口问题


很简单的程序:

void setup()
{
Serial.begin(9600);
}

void loop()
{
Serial.print("1111");
Serial.flush();
delay(500);
}


串口可以使用,但只能是连接PC的USB后,打开串口监控窗口时候,串口才启动,其他任何外接方法都不可以是串口启动。

外接5V 电源没有用、USB连接上打开串口监控窗口触发一下才有用。。。。

请问这是什么问题啊?求教啊!!!!!

Youyou 发表于 2014-3-13 11:53:53

本帖最后由 Youyou 于 2014-3-13 11:55 编辑

你好,你看到的TXD和RXD指示灯不是直接在328P单片机的TXD和RXD管脚上面,而是连接在8U2(或者16U2)单片机的管脚上面。后者负责USB转串口。实际上,按照你写的程序,328P单片机只要上电后,就已经在发数据了。你可以用个LED灯测试下,LED灯的正极接Vcc,它的负极接328P的TXD管脚,你就能看到灯在闪了,说明已经再发送数据了。但要让板子上的TXD和RXD指示灯亮起来,就必须要让8U2(或者16U2)收发数据,因此这就是为什么你要开串口监视器触发下了。
328P的串口在上电后就已经启动了,放心用吧,没问题的。:)

何处不江南 发表于 2014-3-13 13:48:00

一楼正解,楼主可以用其他引脚配成软串口测试,或者用另一块Uno测试下

浪漫先生 发表于 2014-3-14 11:21:39

恩,问题解决了,谢谢大侠们:)
页: [1]
查看完整版本: ATMEGA 328P 的串口问题