安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务: 1、重做上一个LED流水灯作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。 2、完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式),要求: 1)设置波特率为115200,1位停止位,无校验位; 2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。
一、HAl库实现流水灯
1.安装cubeMX
安装教程:STM32CubeMX系列教程02_STM32CubeMX工具、HAL库下载、安装说明 按照以上教程安装好后开始下一步
2.创建项目
打开cubeMX 选择New Project下的第一个选项access to mcu那一个 在左上的part number中输入对应芯片名,中间出现对应的芯片后双击进入编辑 选择PA4,PB5,PC14三个引脚,都选择GPIO_Output选项 点击左侧system core选项,选择sys,右方debug选择serial write 接着点击GPIO设置 点击上方Project Manager 输入项目名称,application Structure选择basic,ide选择mdk,版本对应keil版本,最后点击右上方generate code 代码创建好后点击open即可keil打开项目 修改while循环实现流水灯,编译创建hex文件 烧录hex文件 效果:HAL库实现流水灯
3.波形图
可以看到按照A4、B5、C14的顺序依次先高电平再低电平,时间间隔约为1s。
二、USART串口通讯
1.创建项目
项目创建与前面步骤一致 在AZ选项中选择usart1并进行图中配置 然后generate code,manager选项与前面也一致 keil打开项目 修改while循环 PA4端口在每次发送信息后亮0.1秒后熄灭,等待0.9秒后继续循环上述步骤。 烧录hex
2.实现效果
三、总结
通过使用HAL库可以大大减少我们配置对应引脚的时间和代码量,在操作方面也方便了许多,不需要再翻资料查找每一个寄存器的基地址了。而且HAL库可以一键帮我们配置串口输出参数,很方便编程。
四、参考
STM32CubeMX系列|串口通讯 STM32实现LED闪烁——基于HAL库
|