1.视频链接:
2.安装CubeIDE
下载地址: www.st.com/content/st_…
现在下载的时候需要具备一个ST的账号,这个没有办法只能科学上网,或者需求帮助,后面创建项目也需要魔法。
安装过程全部选择默认选项
安装完成之后选择工作空间,建议这个自行选择
这里有个让你选择是否提供信息给官方:可以选择是或者否
3.点灯大师实验
3.1前言
原理图:
首先你需要知道通用GPIO口具有八种工作模式,我们先来使用推挽输出,作用是可以输出3.3V高电平以及0V低电平,电压差产生电流,我们就可以让小灯亮起来了。
理论上我们需要做的就是设置STM32芯片引脚为推挽输出模式,并且输出高电平(3.3V),那么小灯就可以亮了。
3.2创建项目
创建过程:左上角File-->New-->STM32 Project
然后我们需要等待一段时间下载必要的依赖
选择芯片界面:输入STM32f103c8t6
在给项目起名字阶段配置也是默认,写完项目名字直接Finish
创建完成的界面应该长这样:
3.3设置输出模式
单击PA7,选择GPIO_OUTPUT
3.4保存并且生成代码
使用Ctrl+S进行保存,会提示是否想要重新生成代码,我们允许
如果不小心点了否我们点击按钮也可以生成:
进入文件页面:
编译:
4.尝试书写代码
4.1创建blink项目
步骤:略
4.2将PA7设置为GPIO_OUTPUT并且保持低电平
4.3开始写代码
HAL_GPIO_WritenPin(GPIOA,GPIO_PIN_7,GPIO_PIN_SET);
这句话的意思是将GPIO7号引脚设置为高电平
下面这段代码就是小灯闪烁的代码了,至于为什么要延迟1秒就是防止闪烁太快人眼无法识别
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
4.4.3编译
4.4.4打开仿真器
界面长这样:
选择Spare parts:
界面长这样:
然后:
设置引脚:
加载bin:
做完这一切你的绿灯就会亮起来了,恭喜你获得点灯大师的称号。
5.点灯宗师实验
5.1前言
需要完成4的实验才能看懂
我们在4的步骤基础之上进行修改
5.2原理
这里进行图片说明,也就是PA6控制蓝灯,PA7控制绿灯,PB0控制红灯,也就是三原色的颜色
5.3设置引脚
PA6、PA7、PB0同时设置为GPIO_OUTPUT
同时,为了方便,我们可以右键引脚选择Enter User Label从而设置我们的用户标签,可以看成是备注
做完这些记得使用ctrl+s保存代码
5.4书写代码
定义5个状态,顺序执行,一直循环就可以实现彩色变换的样子
int state = 0;
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;
}
注意书写位置,然后编译下载即可,按照第四的步骤设置编译出bin文件,然后我们进行仿真
5.5仿真
加载bin:
效果如下(一直变换颜色):
做到这里就获得了点灯宗师称号了。