本文目的是通过protues进行stm32程序的仿真和运行,了解仿真和实际硬件操作的不同之处


目录

  • (一)新建工程
  • (二)创建原理图并进行仿真
  • 1.创建原理图
  • 2.进行程序仿真
  • (三)总结


(一)新建工程

  • 新建工程
    点击新建工程,输入工程名和工程所在路径,点击下一步
  • 选择从选中的模板中创建原理图,点击下一步
  • 选择不创建PCB布版设计,点击下一步
  • 选中创建固件库,选择Cortex-M3系列,Controller选择STM32F103R6,编译器默认为GCC for ARM(not configured),点击下一步
  • 点击完成即可创建一个新工程

(二)创建原理图并进行仿真

1.创建原理图

  • 点击P,进入选择元器件的界面
  • 搜索创建原理图所需要的的元器件电阻RES和LED灯并添加到元件库中
  • 画出原理图
    原理图如下:

2.进行程序仿真

  • 编写stm32流水灯程序
  • 加载该程序生成的hex文件到proteus中的stm32单片机中
    双击stm32元件,进入编辑元件的界面,选择program File(生成的hex文件)的位置,最后点击确定。
  • 开始仿真
    仿真结果如下:
  • 遇到的问题
  • 执行仿真时报错如下:
Access to register of unclocked peripheral at 0x40010800 cause BUS_FAULT [U1_CM3CORE]
  • 解决方案:将stm32元器件的Crystal Frequency改为72MHz即可解决该问题。

(三)总结

通过在proteus上进行stm32程序的仿真和运行,我感觉仿真是一种十分重要的实验手段让我们可以最大程度的接近真实的硬件环境,特别是在没有硬件支持或者不方便使用硬件的时候;并且硬件实验还会受到硬件以及其他各种外部因素的影响。这次仿真实验让我了解了如何在proteus里进行stm32的仿真,希望以后能更多的使用仿真的方式学习其他的微处理器。

特别感谢以下博文对我的帮助:

1、Proteus仿真STM32流水灯实验例程、详细步骤。

STM32仿真报错集1:Access to register of unclocked peripheral at 0x40011000 cause BUS_FAULT [U1]