下面描述下问题和解决过程。

    Proteus8.7版本新建一个电路工程,直接放了个STM32F103R6芯片想仿真测试下写的程序,结果仿真失败,说是电压轨道问题,(下面这是我修改过的工程了,所以问题显示不一样了,不过一开始就是power rails问题):

Proteus8仿真STM32F103R6的电压轨道问题

    然后我打开一个proteus8的STM32F103R6模板工程,人家的可以正常点亮LED:

Proteus8仿真STM32F103R6的电压轨道问题

    为了排除是不是我的keil5输出的hex文件错误原因(捂脸),我复制了模板工程的芯片烧写的debug.elf文件,放到自己的工程芯片里,结果出现了文章第一个图的问题……

    因为一开始就记得看到了power rails问题,所以想到进一步对比模板工程和自己工程两个的电源轨道,查看方法Design/Configure Power Rails.../,挨个儿查看power supplies的各个电源网络的参数,可以看到工程的电源网络电压值和下面右边框里的电源网分配不一样:

a.模板工程power rails configuration:

Proteus8仿真STM32F103R6的电压轨道问题

b.自己工程power rails configuration:

Proteus8仿真STM32F103R6的电压轨道问题

    接下来就一个一个对比着改了(一开始搞了半天不会修改电源网络分配,方法是先把一个细分网络从一个网络移除,然后才可以添加到另一个网络下,就选中后操作add和remove……)

    然后就自己工程可以正常运行模板工程的elf程序文件了:

Proteus8仿真STM32F103R6的电压轨道问题

    然后测试自己的程序可执行文件hex文件:

哎算了不看了,问题又出了一堆,这次是自己程序问题了(捂脸)。其他问题在其他文章里说明吧,这里不啰嗦了。

    所以说proteus的电源网络配置还是挺重要,再继续学习吧。

相关文章: