这可能是因为Atmega328p的时钟误差导致的。在Arduino中,使用9600 Baud作为默认串行速率,而1200 Baud不是其典型的工作速率。因此,由于Atmega328p芯片的时钟误差,可能会出现传输错误。可以尝试使用自定义波特率设置并调整时钟校正,以解决这个问题。以下是设置9600 Baud和1200 Baud的示例代码:
void setup() { //设置串口波特率为9600 Baud Serial.begin(9600); //或者可以使用以下自定义设置: //Serial.begin(1200, SERIAL_8N1); }
void loop() { //向串口发送数据 Serial.println("Hello World!"); delay(1000); }