点亮LED灯
先说明,我写的东西是拿来就用的,你要会亿点点。
我用的是野火的开发板:STM32F103VET6
原理图:
链接:https://pan.baidu.com/s/1-3hyMCPUPdzPilon64DR9g
提取码:pdu6
怎么点亮LED灯?
1.知道原理:绿灯的io口是PB0,蓝灯的io口是PB1,红灯的io口是PB5,我们只需要给这io口低电平就能点亮。
2.配置STM32CubeMX(具体配置后面讲):找到IO口配置为高电平(暗状态)
3.你要写的代码:我这里只点亮了绿灯,其他的注释掉。
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);//RESET 低电平 0 SET 高电平 1
HAL_Delay(1000);
// HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);
// HAL_Delay(1000);
// HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);
// HAL_Delay(1000);
// HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5|GPIO_PIN_1|GPIO_PIN_0,GPIO_PIN_SET);//全部关闭
// HAL_Delay(1000);
// HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);//TogglePin 电平翻转 不停闪烁
// HAL_Delay(1000); //1000 ms = 1s
4.实现的效果:
具体过程:你要有keil5和STM32CubeMX软件
1.配置CubeMX
1.打开软件
2.选择板子类型
3.选择serial wire:用于DAP和J-Link做下载
4.选择外部时钟:(如果使用内部时钟,不改变,如果不知道啥内外时钟百度下先,还不懂,直接照我的来,以后你深入学习会了解)
5.选择GPIO的IO口:点灯只需要配置下高低电平(默认的是低电平会点亮灯,我改为高电平,灯为暗)
6.文件名和选择文件地址:建议用英文名
2.在keil中编写代码实现功能:
1.配置keil
2.写代码:只能在begin和end之间写代码,不然再次启动CubeMX会把写在begin和end外的代码覆盖掉(删掉)
/* USER CODE BEGIN 3 */
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);//RESET 低电平 0 SET 高电平 1
HAL_Delay(1000);
// HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);
// HAL_Delay(1000);
// HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5,GPIO_PIN_RESET);
// HAL_Delay(1000);
// HAL_GPIO_WritePin(GPIOB,GPIO_PIN_5|GPIO_PIN_1|GPIO_PIN_0,GPIO_PIN_SET);//全部关闭
// HAL_Delay(1000);
// HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_0);//TogglePin 电平翻转 不停闪烁
// HAL_Delay(1000); //1000 ms = 1s
}
/* USER CODE END 3 */
点击下载就能点亮灯了!!!