一、引言
Proteus作为嵌入式开发者的仿真利器,在STM32F103学习与验证中广泛应用,但其与实际硬件差异大等问题常导致LED灯不亮”“串口无输出,最后仿真失败。为此基于之前所学习的仿真实验做一个总结,记录一下坎坷的仿真之路,。
二、常见问题分类与解析
1. 电源配置
现象:仿真提示错误 No power supply specified for net VDDA in Power Rail Configuration.
原因 :Proteus未正确配置STM32的电源网络(VSSA为地,VDDA为电)。
解决步骤:
1. 打开 `Design → Configure Power Rails`,添加VDDA至VCC/VDD网络。
---
2. 时钟配置错误
现象:仿真时芯片无反应、外设初始化失败。
原因:
Proteus内部时钟频率可能与代码预设值不一致(默认8MHz vs 实际72MHz)。
解决步骤:
在main下添加如下代码即可
RCC_SYSCLKConfig(RCC_SYSCLKSource_HSI);
3. 芯片配置
现象:启动仿真后,没有运行或现象。 。
优化方案:
若芯片为STM32F103C8T6,则直径设置外部晶振为8Mhz即可。
---
4. C8芯片ADC无法采集
现象:程序正常运行,但是ADC_value为0。
解决步骤:
1.建议将芯片换为STM32F103C6。
---
5. 使用虚拟串口Virtual Terminal时,程序运行但是未显示
现象:使用串口打印数据,其他正常运行,但是Virtual Terminal并未显示。
解决方法:
1. UART通信程序错误。
2. 检查原理图中USART引脚与Virtual Terminal的连接(需要显示数据,就将端口接入Virtual Terminal的RX上)。(注意Virtual Terminal的配置,波特率需要和程序设定的一致)(位置如下)
---
三、总结与资源推荐
总结:Proteus仿真STM32F103的核心痛点集中于时钟配置、外设驱动适配和 代码移植兼容性。通过动态时钟校准、外设状态监控和模块化代码设计,可显著提升仿真成功率。
优质文章推荐:
关于Proteus仿真ADC转换的问题_proteus adc 问题-CSDN博客
proteus仿真STM32串口的各种问题和解决办法_proteus仿真用了串口就卡死什么原因-CSDN博客
---
附录:问题自查清单
| 问题类型 | 检查项 |
|-------------------|---------------------------------------------------------------|
| 电源与时钟 | VDD/VDDA是否正确配置|
| 芯片配置 | 芯片是否配置正确?|
| 接线问题 | 接线是否正确?|
---
最后,以上就是我从小白到仿真成功之间遇到的一些问题,希望能够帮助到各位。