STM32系列32位微控制器基于Arm® Cortex®-M处理器,旨在为MCU用户提供新的开发自由度。它包括一系列产品,集高性能、实时功能、数字信号处理、低功耗/低电压操作、连接性等特性于一身,同时还保持了集成度高和易于开发的特点。
1.硬件接口
STM32G431开发板有一个用户按钮和LED灯。
根据原理图,LD2和PA5相连,想要点亮LED则PA5应该为高电平。
用户按键B1和PC13相连,按下为高电平;
2.软件设计
2.1 芯片型号选择
本示例所使用芯片型号为:STM32G431RBT6;128KB flash 和32KB SRAM,工作频率高达170MHz。
2.2 时钟配置
2.3 GPIO配置
2.4 生成代码
2.5 LED和按钮引脚配置
2.6 获取按键值函数编写
/*获取按键值*/ uint8_t Get_KeyVal(void) { uint8_t static stat=0; if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==1 && stat==0)//判断按键是否按下 { HAL_Delay(20);//延时消抖 stat=1; if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin))return 1; } else if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==0) { stat=0; } return 0; }
2.7 主函数
uint8_t key; /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ key=Get_KeyVal(); if(key) { HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); } }
![pYYBAGN-v8uAcrlUAAIV8LfEE6E492.png#pic_center](https://file.elecfans.com//web2/M00/7D/D8/pYYBAGN-v8uAcrlUAAIV8LfEE6E492.png#pic_center)
![poYBAGN-v82AGk-_AAshA1mcwUw922.png#pic_center](https://file.elecfans.com//web2/M00/7D/4B/poYBAGN-v82AGk-_AAshA1mcwUw922.png#pic_center)
开发板本身集成ST_Link下载器,只需安装ST_Link驱动即可直接下载。
审核编辑:汤梓红
-
mcu
+关注
关注
146文章
17370浏览量
352987 -
STM32
+关注
关注
2274文章
10929浏览量
358004 -
按键
+关注
关注
4文章
223浏览量
57679 -
开发板
+关注
关注
25文章
5144浏览量
98436
发布评论请先 登录
相关推荐
STM32CubeMX stm32g431 PLLP无法被设置是怎么回事?
STM32G431无法输出项目工程的原因?
配置STM32G431的FDCAN为普通CAN模式,为什么不能接收数据?
STM32F302K8U6和STM32G431中内置的运放 建立时间是多长?
STM32G431开发板免费试用
【STM32G431试用申请】STM32G431在模拟前端板的替代
STM32G431嵌入式设计相关资料下载
STM32G431串口通信的使用步骤
在什么温度下可以检测到STM32G431的TS_CAL2值呢?
如何使用STM32G431芯片做DAC应用
STM32_按键点灯
![<b class='flag-5'>STM32</b>_<b class='flag-5'>按键</b><b class='flag-5'>点灯</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
评论