基于stm32简单程序:LED流水灯
1、新建工程项目及文件
1.1 新建工程
1.1.1点击新建一个项目
打开keil5新建项目
1.1.2选择工程项目存放路径
这里放在自己喜欢的文件夹中并取名为ledss
点击保存
1.1.3选取stm32型号
选择STM32F103RB
点击OK
1.1.4选择软件构件
按照序号选择即可
点击OK工程创建完成
1.2 新建文件
1.2.1新建文件
在菜单栏File中点击New即可
1.2.2写入代码
#include "stm32f10x.h"
GPIO_InitTypeDef GPIO_InitStructure;
void delay_ms(uint32_t ms)
{
uint32_t i_cnt,j_cnt;
for(i_cnt=0;i_cnt<3000;i_cnt++);
for(j_cnt=0;j_cnt<ms;j_cnt++);
}
uint32_t i;
int main(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIOC->BSRR=0xff;
while (1)
{
for(i=0;i<8;i++)
{
delay_ms(99000);
GPIOC->BRR=(1<<i);
delay_ms(99000);
GPIOC->BSRR=(1<<i);
}
for(i=0;i<8;i++)
{
delay_ms(99000);
GPIOC->BRR=0x000000ff;
delay_ms(99000);
GPIOC->BSRR=0x000000ff;
}
}
}
(此处代码参照博客)
1.2.3将文件加入工程项目再编译
加入文件
点击编译
显示没有错误之后
点击 Options for Target
按照顺序设置生成hex文件
再次编译即可在保存的文件夹里看到有hex文件生成
2、新建protues电路
2.1 新建工程
2.1.1新建工程
2.1.2更改工程名以及储存路径
之后一直点击下一步直到
按照如图选择配置即可
2.2 选择元器件
2.2.1 打开元器件库选择要用的元器件
2.2.2找到元器件并添加
添加如下元器件
2.3 连接元器件
按照如图连接元器件
3、导入文件并仿真
点击运行
4.总结
用Proteus仿真可以很有效的检验代码的正确性。