proteus仿真 arduino串口监视器出现乱码?

void setup() {Serial.begin(9600); // 设置通信码率Serial.println("begin");}void loop() {Serial.print("abc");delay(100);}proteus里的波特率也都是9600已经解决啦!晶振频率的问题
补充:我是在proteus里仿真的arduino,之前在设置的时候不小心把板子的晶振频率改成stm32的频率了,所以导致乱码

当您在Proteus中使用Arduino串口监视器时,可能会出现乱码问题。这可能是由于以下原因之一:

    串口波特率不匹配:请确保Proteus中的串口波特率与Arduino代码中的波特率相同。如果它们不匹配,则会发生通信错误,导致出现乱码。

    串口数据格式不正确:请确保Proteus中的串口数据格式与Arduino代码中的数据格式相同。数据格式包括数据位、奇偶校验和停止位等。如果格式不正确,也会导致通信错误和乱码。

    防止串口初始化多次:请确保在Arduino代码中只对串口进行一次初始化。如果您在代码中多次初始化串口,则会导致通信错误和乱码。

    模拟器速度不匹配:Proteus中的模拟器速度可能与Arduino的实际速度不同。请尝试在Proteus中降低模拟器速度或增加Arduino代码中的延迟时间,以解决乱码问题。

    使用不支持的字符:请注意,Arduino串口监视器只能显示ASCII字符集中的字符。如果您使用其他字符集或不支持的字符,则会出现乱码。

    以上是常见的一些原因。如果问题仍然存在,请仔细检查您的代码和模拟器设置,或者尝试使用其他工具进行调试。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-02-17
可能是因为你的代码中没有设置正确的波特率,你可以尝试把Serial.begin(9600)改为Serial.begin(115200),或者把Serial.print("abc")改为Serial.println("abc"),这样可以避免出现乱码的情况。追问

你好 按照你的方法试了 还是不行

相似回答
大家正在搜