一、实验内容和任务
一. 了解串口协议和RS-232、485标准,以及RS232、485电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。
二. 安装 stm32CubeMX,配合Keil,分别尝试使用寄存器地址方式(汇编或C,不限) 和HAL库这两种方式,完成下列任务:1、重做上一个LED流水灯作业,即用GPIO端口完成3只LED红绿灯的周期闪烁。 2、完成一个STM32的USART串口通讯程序(查询方式即可,暂不要求采用中断方式),要求:1)设置波特率为115200,1位停止位,无校验位;2)STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。
三. 在没有示波器条件下,可以使用Keil的软件仿真逻辑分析仪功能观察管脚的时序波形,更方便动态跟踪调试和定位代码故障点。 请用此功能观察第1题中3个GPIO端口的输出波形,和第2题中串口输出波形,并分析时序状态正确与否,高低电平转换周期(LED闪烁周期)实际为多少。
二、实验要求
1. 分组要求:每个学生独立完成,即1人1组。
2. 程序及报告文档要求:具有较好的可读性,如叙述准确、标注明确、截图清晰等。
3.项目代码上传github,同时把项目完整打包为zip文件,与实验报告(Markdown源码及PDF文件)、作业博客地址一起提交到学习通。
三. 实验过程介绍 (此处可以填博客内容)
一、完成一个STM32的USART串口通讯程序
一、STM32CubeMX
1.打开stm32cubemx,新建工程,选择stm32f103c8
2.时钟设置
二、Keil
1.打开上面产生的项目后,找到main.c,在第一个while循环里面添加以下代码
char data[]="hello windows!\n";
HAL_UART_Transmit(&huart1, (uint8_t *)data, 15, 0xffff);
HAL_Delay(1000);
2.编译文件后打开mcuisp软件烧录,stm32核心板连接如下:
GND-G
3V3-3.3
RXD-A10
TXD-A9
3.烧录成功后打开串口调试助手,点击打开串口,就会有消息发送
4.波形观察
二、总结
1、了解串口协议和RS-232、485标准,以及RS232、485电平与TTL电平的区别;了解"USB/TTL转232"模块(以CH340芯片模块为例)的工作原理。
2、STM32系统给上位机(win10)连续发送“hello windows!”。win10采用“串口助手”工具接收。
三、参考
https://blog.csdn.net/weixin_47554309/article/details/120810913