proteus仿真串口打印

前言-关于串口仿真的坑

最近为了完成作业使用了Proteus仿真STM32,在串口使用中遇到了各种问题,比如输出HEX为00 00 00(空值)、或者是输出乱码、参数匹配、时钟等;参考很多文章,发现可能对于解决问题没有一个较为全面的思路,因此写下这篇避坑指南。
出现的异常情况

第一步:

你需要确认你的仿真串口接线是否合乎规范

单片机接口RX匹配COMPIM的RX、TX匹配COMPIM的TX。

第二步:

确认你的程序能够成功匹配(包括仿真软件波特率和程序设定等),使得串口调试助手能接收到信号。

如图

接着你会遇到的错误可能是两种

1.串口发送HEX 00 00 00 00…

2.串口发送乱码

情况一 解决方法

在你的程序代码中加入一个时钟初始化(仿真与实物操作的区别)
不懂如何添加直接放在main() 主函数里面
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
如果还是出现情况二乱码

情况二 解决办法

首先确认你的仿真芯片的工作频率,例如我设置(8M)
需要严格匹配STM32F10x.h头文件的HSI_VALUE的数值,
如图

如果以上仍不能解决,可以尝试调整外部晶振频率8Mhz,12Mhz…

设置外部高速时钟,同时仿真加载程序的时钟与程序源码设置的高速外部时钟频率相同。
例如:程序设置高速外部时钟8M,加载程序时也应填写8M
最后成功解决问题

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值