版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARMSTM32开STM32开发板库函数--实战刘洋课堂:http://sSTM32USART概USART串行通信概USART块”。在内部,与SPI、I2Cb)尽管比按字节(by)EIA-232、EIA-422和EIA-485最们熟悉的串行通信技术标准是EIA-232、EIA-422和EIA-485,也就是以前所称的RS-232、RS-422和RS-485。由于EIA建议标准都是以“RS”作为前缀,所以在工业通信领域,仍然习惯将上述标准以RS作EIA-232、EIA-422EIA-485串行数据接口标准,最初都是由电子工业(EIA)制订并发布的,EIA-232在1962年发布,后来陆续有不少改进版本,其中最常用的是EIA-232-C版。1、EIA-目前EIA-232是PC与通信工业中应用最广泛的一种串行接口。EIA-232采取不平衡传输方式,即所谓单端通信。标准规定,EIA-232的传,另外有一点必须,在EIA-422通信中,只有一个主设备(Master),其余为从设备(Slave),从设备之间不能进行通信,所以EIA-422支持的是3、EIA-为扩展应用范围,EIA于1983年在EIA-422基础上制定了EIA-485标同时增加了发送器的驱动能力和护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A由于EIA-485是从EIA-422基础上发展而来的,所EIA-485许多电气规定与EIA-422相仿,如都采用平衡传输方式、都需要在传输线上接终端电阻、最大传输距离约为1219米、最大传输速率为10Mbps等。但是,EIA-485可以改进,无论四线还是二线连接方式总线上可接多达32个设EIA-232、EIA-422与EIA-485准USB接USB接口的出现及其发USB英UniversalSerialBus写,翻译成中文的含义是“通持即插即用和热插拔功能。在Windows2000的操作系统中,任何一款标准USB于1994IBM、In和 即在统一外设接口,如、外置Modem、扫描仪、鼠标等的接口,以便于用户进行便捷的安装和使用,逐步取代以往的串口、并口和PS/2USB1996USB1.01998以及刚刚发布的标准USB2.0。此三种标准最大的差别就在于数据传输速率方面,当然,在其他方面也有不同程度的改进。就目前的USB2.0而言,其传输速度可以达到480Mbps,最多可以支持127个设备。目前在ITUSB口可谓春风得意。人们在市场上可以看到,每一款信技术的地位。但是,在工业领域,使用USB接口的产品则甚为少见。在工业领域要求产品的可靠性和稳定性,目前,EIA比之下,UBUSBIA准依然占据地位。USART功能概RX:接收数据串行输入。通过采样技术来区别数据和噪音,从而恢复据TX:发送数据串行输出。当发送器被时,输出引脚回复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX单线和智能卡模式里,此I/O总线在发送或者接收前应处于空闲状一个数据字(8位或9位),最低有效位12个停止位,由此表示数据位的使用分数波特率发生器-12位整数4位小数的表示方一个状态寄存器一个波特率寄存器(USART-BRR),12位整数4一个智能卡模式下的保护时间寄存器(USART-IrDA_RDI:IrDA模式下的数据输IrDA_TDO:IrDA模式下的数据输SnRTS:发送请求,若是低电平,表明USART异步串行通信格串行通信速(bandrate)。每秒传送一个格式位就是1波特。常用的波特率有:48009600、19200、115200USART模式配STM32内部集成了5个串行 口,每个串行 口支持的方式详细表1.从图中可以看出“USART1”、“USART2”、“USART3”全部支持表格URUR功能,、不支持“智能卡”功1USARTUSART模异步模×××××硬件流控×××多缓存通×××××多处理器通×××××同×××××××××××××××××××××2USART序USART库函123456789实验目的通过下传编写好的串口通讯程序,验证串口通讯的正确性,掌握串口讯软件的设计方硬件设计在这里使用的串口通讯是MXA3232ESE,串口通讯电路是一个很成图一串口通讯应用电软件设计PA9PA10STM32库函数文件Misc.c//中断控制字(优先级设置)库函数stm32f10x_exti.c//外部中断库处理函数stm32f10x_tim.c//定时器库处理函数stm32f10x_usart.c//串口通讯函数本节实验及以后的实验我们都是用到库文件,其中头文件包含了GPIO端口的定义。stm32f10x_rcc.h头文件包含了系统时stm32f10x_gpio.c和stm32f10x_rcc.cMisc.c含了中断优先级的设置,stm32f10x_exti.c库函数主要包含了外部中断设置参数,tm32f10x_tim.ctm32f10x_usart.c自定义头文件pbdata.h文件里的内容是#ifndef#ifndef_pbdata_H#define#include"misc.h"#include"stm32f10x_exti.h"#include"stm32f10x_tim.h"voidRCC_HSE_Configuration(void);voiddelay(u32nCount);voiddelay_us(u32nus);voiddelay_ms(u16ifndef、#endif了防止pbdata.h件被多个文件调用时出现错误提示。如果不加这两条语句,当两个文件同时调用pbdata文件时,pbdata.c文件里的内容是#include"pbdata.h"//很重要 {RCC_DeInit();/*将外设RCC寄存器重设为缺省值*/ /*设置外部高速晶振(HSE)HSE晶振打开if(RCC_WaitForHSEStartUp()SUCCESS){/*HSE起振,SUCCESS:HSEAHB时钟APB2时钟APB1HCLK /*使能PLL*/while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)RESET)/*RCC while(RCC_GetSYSCLKSource()!=0x08); /*0x08:PLL作为系统时钟*/}}voiddelay(u32{for(;nCount!=0;nCount--} 称:delay_us(u32 能:微秒延时函参数:u32 明voiddelay_us(u32nus){u32SysTick->LOAD={ SysTick->VAL=0X00;} 称:delay_ms(u16 能:毫秒延时函参数:u16 明voiddelay_ms(u16nms){u32SysTick->LOAD=9000*nms;{ SysTick->CTRL=0x00;//关闭计数器SysTick->VAL=0X00;}STM32系统时钟配置每个工程都必须在开始时配置并启动STM32系统时GPIO引脚时钟使能能是通过APB2预分频器得到的,串口1时钟初始化;因为要与外 通讯所以要打开功能复用时GPIO管脚电平控制函数在主程序中采用while(1)循环语句,等待串口通讯中断的到来 stm32f10x_it.c文件里的内容是#include"stm32f10x_it.h"#include"stm32f10x_rcc.h"#include"misc.h"#includevoid{}void{{}}函数后,只有串口1有参数输出。还有就是中断处理子函数都包含在#include"stm32f10x_it.h"#include"stm32f10x_rcc.h"#include"misc.h"#includevoid{}void{{}}main.c文件里的内容是USART中断的产生,转入通讯处理程序。下面是主程序的内容#includevoidRCC_Configuration(void);voidGPIO_Configuration(void);voidNVIC_Configuration(void);intmain(void){RCC_Configuration();//系统时钟初始化}void{}void{GPIO_InitTypeDef}void{NVIC_InitTypeDefNVIC_InitStructure;NVIC_InitStructure.NVIC_IRQChannelUSART1_IRQn;//USART1NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority0;//NVIC_InitStructure.NVIC_IRQChannelSubPriority1;//从优先级设置NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;}void{USART_InitTypeDefUSART_InitStructure;//串口结构体USART_InitStructure.USART_StopBits=USART_StopBits_1;//1位起始位USART_Cmd(USART1,ENABLE);//打开整个串口1外设}在main(void)程序体中代码比较多,USART_Init函数理解起来有难,下面对函数USART_Init、USART_ClearFlag做一下比较详细的1、函数1USART_Init函数原Void功能描根据USART_InitStruct中制定的参数初始化外设USARTx输入参数USARTx:x可以是1,2或者3,来选择USART外输入参数USART_InitStruct:指向结构USART_TypeDef的指针,包含了外设USART息。参阅Section:USART_TypeDef查阅该参数允许取值范输出参无无先决条无被调用函无USART_InitTypeDefUSART_InitTypeDef定义于文成员。可以看出在一部模式下使用的参数少,只用6个。成异步模同步模USART_BaudRate波特率XXUSART_WordLength数据XXUSART_StopBits停止位XX XXUSART_HardwareFlowControl控XXXXXXXX2、函数2USART_ClearFlag函数原功能描清除USARTx的待处理标志输入参数USARTx:x可以是1,2或者3,来选择USART外输入参数USART_FLAG:待清除USARTx的标志位输出参无无先决条无被调用函无2USART_FLAG描CTSLIN中断检测标志发送数据寄存器空标发送完成标志接收数据寄存器非空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 泌尿外科护士总结
- 部门预算的制定与监督计划
- 2024年物业服务合同:高端住宅小区物业服务
- 媒体广告行业员工培训总结
- 手表店前台工作总结
- 绩效激励政策的总结与优化计划
- 高考新课标语文模拟试卷系列之38
- 2024年度儿童剧演员演绎与推广合同3篇
- 江苏省兴化市高考考前冲刺试卷(二)(语文)
- 油气地震课课程设计
- 辐射与防护学习通超星期末考试答案章节答案2024年
- CRF病例报告表模板
- 前滚翻课件教学课件
- 2024年计算机二级WPS考试题库380题(含答案)
- 销售单模板(自动计算数字大写、时间自动生成)
- 2023年江苏省五年制专转本英语统考真题(试卷+答案)
- 艺术音乐鉴赏与实践智慧树知到答案2024年临沂市信息工程学校
- 班主任技能大赛真题及答案
- 山东省济南市2023-2024学年高二年级上册1月期末英语试题(解析版)
- 2023年全国职业院校技能大赛-声乐、器乐表演赛项规程
- 2025年高考数学复习大题题型归纳:专题07 数列中的构造问题(解析)
评论
0/150
提交评论