基础任务之GPIO 与 UART
一、任务目标分析
任务一:使用STM32CubeMX图形化配置软件,配置STM32H503RB芯片的内部参数,外设参数,引脚分配等功能
这个任务实际上是贯穿整个开发的任务,要求就是使用STM32CubeMX图形化配置软件配置各部分外设的配置以及生成初始化代码;
任务二:在学习完成全部讲解与实验后,在STM32H503RB开发板成功烧录程序,并编写软件代码实现LED灯周期闪烁,串口打印字符串"Hello EEPW & DigiKey! Hello STM32H503!"
如目标所述任务一其实包含进整个开发过程中的说有流程,所以任务一、任务二回混合实现
二、任务实现
1、硬件确认
1.1、资料获取
插入开发板连接到电脑后,会弹框显示下图,双击“GETSTART.HTM”即可打开该开发板的相关信息页
进入网页后找到下图的文档,可以得知该开发板的所有信息
打开文档后我们找到“Board functions”查看开发板硬件方面的配置
1.2、时钟确认
可以看到外置高速时钟为24MHz的。
1.3、LED确认
由上图可知提供给用户驱动的灯只有一个LED2,连接到PA5引脚,并且要在跳线SB6是接通的情况下,才是导通的,所以下一步是确认SB6跳线电阻的连接情况。
由上图可以看到SB6是默认连接着的,所以我们将PA5给高电平就可以点亮LED2。
1.4、串口确认
上图可以得知在
SB2 and SB3 ON
SB18 and SB22 OFF
SB19 and SB33 ON
SB20 and SB23 OFF
由上图可以看到所有的跳线电阻都是按照连接(使能)USART3的情况连接着的,所以我们将PA3 PA4配置为串口就可以发送数据给电脑了!
这些所有的跳线电阻符合的情况下,USART3是接到 STLINK-V3EC Virtual COM port上的,而 STLINK-V3EC 会提供串口转USB的功能,能直接在电脑上看到 STLINK-V3EC 的串口(如下图),不需要额外的串口模块,十分的方便。
三、Cube mx配置
1、开启高速、低速时钟
2、配置GPIO驱动LED
3、初始化USART3
4、使能调试接口
5、修改外部高速时钟频率为24M
6、使能ICACHE
至此软件配置初始化、硬件连接均已确认完毕,可以添加代码,进一步确认、验证配置、连接正确与否!
四、实验
串口数据发送
uint8_t str[] = "Hello EEPW & DigKey! Hello STM32H503!\r\n"; HAL_UART_Transmit(&huart3,(uint8_t*)str,sizeof(str)-1,1000);
再初始化后直接使用串口发送一次数据即可!
LED翻转
HAL_GPIO_TogglePin(LED_GPIO_Port, LED_Pin); HAL_Delay(500);
将翻转IO while 里即可!
LED灯翻转效果就不必赘述了,大家自己试一试就好。
至此完成了基础任务!