用Cube和proteus仿真STM32跑马灯
动态图如图: 
1.准备
- STM32CubeMX和proteus软件
- MDK5
1.为生成代码和电路仿真 2.为编写代码
2.电路搭建
 这个电路很简单,仿真我就没加电阻限流
3.生成代码
1.设置IO口
点击有边GPIO,如图PB9,PB10 设置为OUTPUT PUSH模式 
2.启动时钟
点击RCC ,设置HSE为如图所示 
3.时钟配置
如图所示,我时钟是乱设的,我还不怎么熟悉,因为时钟问题,后面仿真会出现Simulation is not running in real time due to excessive CPU load.这个问题,呜呜呜  点击生成代码
4.修改代码
在main.c中添加如图代码 
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_RESET);
HAL_Delay(1000);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_10,GPIO_PIN_SET);
HAL_Delay(1000);
HAL_GPIO_WritePin()函数是改变IO电平,SET为高电平,RESET为低电平。 代码很简单
5.仿真结果
 效果:间隔为一秒的流水灯,仿真时间跟实际时间有偏差 问题:
- 是我代码时钟配置问题,不过我没空改,等我有空再改改
2.仿真出现的问题是Simulation is not running in real time due to excessive CPU load.

|