文章目录
1. 所用硬件
正点原子Mini板,主控 STM32F103RCT6.
用到的外设:LED、按键。原理图:
2. 生成工程
2.1. 创建工程
2.2. 搜索并双击选择主控芯片
2.3. 配置
配置时钟源
配置debug模式(如果需要ST-Link下载及调试可以勾选)
配置时钟树(可以直接在HCLK那里输入72,然后敲回车会自动配置)
2.4. 配置工程目录
勾选上会单独生成 c文件和头文件
2.5. 配置用到的外设
PA8:LED0。
PC5:KEY0,配置输入模式,按键扫描。
2.6. 生成代码
配置完成之后,点击生成代码。
3. 目录结构
生成的工程目录如下图:
Core:软件生成的用到的外设的 源文件和头文件,main.c也在这。等价于MDK中的User + Hardware。
Drivers:HAL库驱动文件、芯片启动文件。
MDK-ARM:MDK工程文件。进入MDK-ARM目录,即可打开工程。
4. 代码
在main.c中添加如下代码。
while (1)
{
if(0 == HAL_GPIO_ReadPin(KEY0_GPIO_Port, KEY0_Pin))
{
HAL_Delay(20);
if(0 == HAL_GPIO_ReadPin(KEY0_GPIO_Port, KEY0_Pin))
{
// 输出高电平
// HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_SET);
// 输出低电平
// HAL_GPIO_WritePin(LED0_GPIO_Port, LED0_Pin, GPIO_PIN_RESET);
// 反转
HAL_GPIO_TogglePin(LED0_GPIO_Port, LED0_Pin);
}
}
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
其中:LED0_GPIO_Port、LED0_Pin之类的引脚别名定义,在main.h中。
5. 效果验证
编译、烧录、查看结果。
效果:按下按键LED反转。