1.STM32入门教程&PicsimLab仿真-安装开发环境STM32CubeIDE

258 阅读3分钟

1.视频链接:

www.bilibili.com/video/BV1HM…

2.安装CubeIDE

下载地址: www.st.com/content/st_…

现在下载的时候需要具备一个ST的账号,这个没有办法只能科学上网,或者需求帮助,后面创建项目也需要魔法。

安装过程全部选择默认选项

安装完成之后选择工作空间,建议这个自行选择

这里有个让你选择是否提供信息给官方:可以选择是或者否

image.png

3.点灯大师实验

3.1前言

原理图:

image.png 首先你需要知道通用GPIO口具有八种工作模式,我们先来使用推挽输出,作用是可以输出3.3V高电平以及0V低电平,电压差产生电流,我们就可以让小灯亮起来了。

image.png 理论上我们需要做的就是设置STM32芯片引脚为推挽输出模式,并且输出高电平(3.3V),那么小灯就可以亮了。

3.2创建项目

创建过程:左上角File-->New-->STM32 Project

然后我们需要等待一段时间下载必要的依赖

选择芯片界面:输入STM32f103c8t6

image.png

在给项目起名字阶段配置也是默认,写完项目名字直接Finish image.png 创建完成的界面应该长这样:

image.png

3.3设置输出模式

单击PA7,选择GPIO_OUTPUT

image.png

image.png

3.4保存并且生成代码

使用Ctrl+S进行保存,会提示是否想要重新生成代码,我们允许

image.png 如果不小心点了否我们点击按钮也可以生成:

image.png 进入文件页面:

image.png

编译:

image.png

4.尝试书写代码

4.1创建blink项目

步骤:略

4.2将PA7设置为GPIO_OUTPUT并且保持低电平

image.png

4.3开始写代码

HAL_GPIO_WritenPin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);

这句话的意思是将GPIO7号引脚设置为高电平

image.png 下面这段代码就是小灯闪烁的代码了,至于为什么要延迟1秒就是防止闪烁太快人眼无法识别

image.png

4.4进行仿真

4.4.1下载仿真器

官方下载地址:sourceforge.net/projects/pi…

蓝奏云下载地址1:0.9.2版本:moudexiao.lanzoup.com/i4NcO2k03my… 密码:fh44

蓝奏云下载地址2:0.9.0版本:moudexiao.lanzoup.com/iAUDI2jx6j6… 密码:96z8

下载完成之后进行安装即可

4.4.2修改设置

右键项目-->选择Properties

image.png

image.png

4.4.3编译

image.png

4.4.4打开仿真器

image.png

界面长这样:

image.png

选择Spare parts:

image.png

界面长这样:

image.png

然后:

image.png

设置引脚:

image.png

加载bin:

image.png

image.png

做完这一切你的绿灯就会亮起来了,恭喜你获得点灯大师的称号。

5.点灯宗师实验

5.1前言

需要完成4的实验才能看懂

我们在4的步骤基础之上进行修改

5.2原理

image.png 这里进行图片说明,也就是PA6控制蓝灯,PA7控制绿灯,PB0控制红灯,也就是三原色的颜色

5.3设置引脚

PA6、PA7、PB0同时设置为GPIO_OUTPUT

image.png 同时,为了方便,我们可以右键引脚选择Enter User Label从而设置我们的用户标签,可以看成是备注

image.png

image.png

做完这些记得使用ctrl+s保存代码

5.4书写代码

定义5个状态,顺序执行,一直循环就可以实现彩色变换的样子

image.png

int state = 0;

image.png

if(state<=2||state==5){

// 红灯亮起

HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_SET);

}else{

// 红灯熄灭

HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,GPIO_PIN_RESET);

}

if(state>=1&&state<=3){

// 绿灯亮起

HAL_GPIO_WritePin(LED_GREEN_GPIO_Port,LED_GREEN_Pin,GPIO_PIN_SET);
}else{

// 绿灯熄灭

HAL_GPIO_WritePin(LED_GREEN_GPIO_Port,LED_GREEN_Pin,GPIO_PIN_RESET);
}

if(state>=2){

// 蓝灯亮起

HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,LED_BLUE_Pin,GPIO_PIN_SET);

}else{

// 蓝灯熄灭

HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,LED_BLUE_Pin,GPIO_PIN_RESET);

}

//延迟300毫秒

HAL_Delay(300);


state++;

if(state>5){

state = 0;

}

image.png

注意书写位置,然后编译下载即可,按照第四的步骤设置编译出bin文件,然后我们进行仿真

5.5仿真

image.png

加载bin:

image.png

效果如下(一直变换颜色):

image.png

做到这里就获得了点灯宗师称号了。