



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
STM32 学习之串口 USART STM32 的串口是相当丰富的 最多可提供 5 路串口 有分数波特率 发生器 支持单线光通信和半双工单线通讯 支持 LIN 智能卡协 议和 IrDA SIR ENDEC 规范 仅串口 3 支持 具有 DMA 等 串 口最基本的设置 就是波特率的设置 STM32 的串口使用起来还是 蛮简单的 只要你开启了串口时钟 并设置相应 IO 口的模式 然 后配置一下波特率波特率 数据位长度数据位长度 奇偶校验位奇偶校验位等信息 就可以使用 了 1 串口时钟使能 串口作为 STM32 的一个外设 其时钟由外设始 终使能寄存器控制 这里我们使用的串口 1 是在 APB2ENR 寄存器 的第 14 位 除了串口 1 的时钟使能在 APB2ENR 寄存器 其他串 口的时钟使能位都在 APB1ENR 1 串口的作用 用在 STM32 板子和 PC 机通信的 我们调试的时 候 无法知道是否正确 就可以用 STM32 的 cpu 给串口输出一些 信息给 PC 我们通过屏幕 实际上是终端串口软件 可以看到这 些信息 从而知道当前程序的错误可能出现的位置 当然 也可以 在 PC 的键盘敲打命令 让串口帮传递给 STM32 板子 来执行这些 命令 2 串口的工作模式一般有两种方式 查询和中断 1 查询 串口程序不断地循环查询 看看当前有没有数据要它传 如果有 就帮助传送 可以从 PC 到 STM32 板子 也可以从 STM32 板子到 PC 2 中断 平时串口只要打开中断即可 如果发现有一个中断来 则意味着要它帮助传输数据 它就马上进行数据的传送 同样 可以从 PC 到 STM32 板子 也可以从 STM32 板子到 PC 步骤一步骤一 从硬件开始学习 大家先打开芯达 STM32 开发板附带的 原理图 找到串口部分 笔者把它截图如下 我们发现 串口模块 的电路是这样的 STM32 的 CPU 引脚 通过两个 PA 端口的引脚 PA10 和 PA9 此两个引脚复用 USART 连接到一个 SP3232 芯片 或者 MAX232 芯片 然后再连接到 DB9 串口座上 由于 232 芯片 可以允许走两路信号 因此 我们扩展了一个串口 COM2 请注意 如无特别说明 我们都将使用 COM1 SP3232EEN 芯片能帮助把数据信号转换成电脑 232 接口能识别 的信号 其转换是自动进行的 因此 我们只需要把要发送的数据 送给引脚 PA9 然后再串口座的引脚 3 上去接收数据即可 反之 接收数据也是一样 步骤二步骤二 初始化串口 打开 STM32F103xxx 参考手册 与 STM32 固件库使用手册 我们的思路和之前一样 根据固件库使用手册中给出的步骤来配置 串口 1 要声明一个结构 GPIO InitTypeDef GPIO InitStructure USART InitTypeDefUSART InitStructure 这里顺便也声明了 GPIO 的结构 原因是 串口是需要使用 IO 口来 进行发送和接收的 2 设置该结构中的成员 串口的结构成员设置如下 USART StructInit USART InitStructure USART BaudRate 115200 USART InitStructure USART WordLength USART WordLength 8b USART InitStructure USART StopBits USART StopBits 1 USART InitStructure USART Parity USART Parity No USART InitStructure USART Mode USART Mode Rx USART Mo de Tx USART InitStructure USART HardwareFlowControl USART HardwareFlowControl None GPIO 结构的成员设置如下 GPIO StructInit GPIO InitStructure GPIO Pin GPIO Pin 9 GPIO InitStructure GPIO Mode GPIO Mode AF PP GPIO Init GPIOA GPIO InitStructure GPIO Pin GPIO Pin 10 GPIO InitStructure GPIO Mode GPIO Mode IN FLOATING GPIO Init GPIOA 3 调用函数 x xx Init 来初始化外设 包括 IO 和 USART USART 的初始化函 USART Init USART1 由于 GPIO 的外设初始化已经放在成员设置后面 因此这里没有列 出来 4 调用 xxx Cmd xxx ENABLE 函数来使能外设 这里只需要使能 USART 即可 GPIO 的固件中 没有使能即可 使用 USART Cmd USART1 ENABLE 由于本文档使用的是中断方 式来触发串口收发数据 因此 我们在使能串口之前 也把发送和 接收的中断使能打开 USART ITConfig USART1 USART IT RXNE ENABLE USART ITConfig USART1 USART IT TXE ENABLE 5 别忘了加上外设的时钟使能哈 GPIOA 和 USART 都在 APB2 上 因此我们调用的函数如下 RCC APB2PeriphClockCmd RCC APB2Periph USART1 RCC APB2 Periph GPIOA RCC APB2Periph GPIOB RCC APB2Periph GPIOC R CC APB2Periph GPIOD RCC APB2Periph GPIOE ENABLE 步骤三步骤三 操作串口收发数据 芯达 STM32 的思路是 首先让 STM32 的 CPU 发送一些欢迎信 息 从串口打印出来 然后接收中断 该中断来自键盘输入 只要 键盘输入一个字符 即打印出该字符 从而验证串口编程是否成功 固件库的函数如何让串口发送和接收数据呢 它给我们提供了 两个函数 USART SendData 省略函数参数 USART ReceiveData 先来看发送 我们的程序在初始化串口之后 马上就会打印欢 迎信息 也就是从 STM32 的 CPU 发送信息 在电脑屏幕上显示出 来 只要如下操作即可 USART 打印欢迎信息 for i 0 TxBuf1 i 0 i USART SendData USART1 TxBuf1 i while USART GetFlagStatus USART1 USART FLAG TC RESET TxBuf1 是一个发送缓存 我们事先把数据放在这个数组里了 unsignedcharTxBuf1 100 这里可以自定义需要输出到串口的字符 这里要注意的是 当我们发送一个字符后 必须查看状态标志 这 里是发送是否完成的标志 USART FLAG TC 如果发送完成了 则才可以发送下一个数据 函数 USART GetFlagStatus 就是用来做 这个判断的 下面开始另外一个操作 键盘输入什么字符 就得显示什么字符 我们的代码如下 while 1 GPIO SetBits GPIOE GPIO Pin 1 RX status USART GetFlagStatus USART1 USART FLAG RXNE if RX status SET USART SendData USART1 USART ReceiveData USART1 while USART GetFlagStatus USART1 USART FLAG TC RESET GPIO ResetBits GPIOE GPIO Pin 1 Delay 0 xFFFFF 先判断接收的状态标志 USART FLAG RXNE 如果接收的寄存器 非 空 说明已经接收到键盘发送来的数据 于是就把这个数据从接收 缓存中取出来 发送给电脑 这样电脑就可以看到刚才敲入的字符 了 USART ReceiveData USART1 这个函数是从接收缓存取出数据 我们在这个 while 中 还加入了 GPIO 的函数 GPIO Set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东房屋租赁合同范本官方版
- 第12课 健康文明地上网教学设计-2025-2026学年小学信息技术(信息科技)第2册鲁教版
- 鲁科版高中化学必修1第一章认识化学科学第2节 研究物质性质的方法和程序第2课时 教学设计1
- 二、保存网页中的图片说课稿-2025-2026学年小学信息技术粤教版四年级上册-粤教版
- 关于证券公司工作总结
- 地板施工与节能环保合同
- 独立担保合同在艺术品交易中的风险预防与合同保障
- 地砖施工与竣工验收合同范本
- 2025办公室租赁合同调整计划
- 民航企业代缴社保及航空安全协议
- 小学体育家长会课件
- 教育的人口功能
- 抗凝剂皮下注射技术临床实践指南2024版
- 中小学教辅材料征订管理制度
- 2025年芳香保健师(初级)职业技能鉴定理论考试真题解析试卷
- 2025年陕西省中考数学试题(原卷版)
- 腰椎管狭窄症病例讨论
- 二衬混凝土浇筑施工技术
- 2025至2030全球及中国护理教育行业项目调研及市场前景预测评估报告
- 培训课件的字体版权
- 注塑加工项目可行性研究报告
评论
0/150
提交评论