基于ARM嵌入式系统开发6_第1页
基于ARM嵌入式系统开发6_第2页
基于ARM嵌入式系统开发6_第3页
基于ARM嵌入式系统开发6_第4页
基于ARM嵌入式系统开发6_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1第六章第六章 I/O接口电路接口电路6.4 stm32串口编程2第六章第六章 I/O接口电路接口电路3 3 STM32单片机的单片机的 USARTx串口串口 编程步骤编程步骤1 1 STM32单片机的单片机的 USARTxUSARTx串口串口和管脚和管脚2 2 STM32单片机的单片机的 USARTxUSARTx串口配置串口配置6.4 stm32串口编程3第六章第六章 I/O接口电路接口电路USART:Universal Synchronous/Asynchronous Receiver/Transmitter,通用通用同步同步/异步异步接收和发送器接收和发送器USART ?4第六章第六章

2、I/O接口电路接口电路ARM9 S3C2410:拥有:拥有3个个UART(通用通用异步异步接收和发送器接收和发送器)Cortex-M3 STM32单片机:拥有单片机:拥有3个个USART(通用通用同步同步/异异步步接收和发送器接收和发送器)MCS51单片机:拥有单片机:拥有1个个UART(通用通用异步异步接收和发送器接收和发送器)比较:比较:5第六章第六章 I/O接口电路接口电路异步串行通信数据格式同步字符CRC字符开始终止数据块同步通信数据格式6第六章第六章 I/O接口电路接口电路7第六章第六章 I/O接口电路接口电路8第六章第六章 I/O接口电路接口电路9第六章第六章 I/O接口电路接口电

3、路10第六章第六章 I/O接口电路接口电路每个每个USART口口: :共有共有7 7个设置寄存器个设置寄存器一个状态寄存器一个状态寄存器(USART_SR) 一个数据寄存器一个数据寄存器(USART_DR):它是由两个寄存器组成的,一个给发送用(发送寄存器发送寄存器 TDR),一个给接收用(接收寄存器接收寄存器 RDR)一个波特率寄存器一个波特率寄存器(USART_BRR)一个控制寄存器一个控制寄存器1(USART_CR1)一个控制寄存器一个控制寄存器2(USART_CR2)一个控制寄存器一个控制寄存器3(USART_CR3)一个保护时间和预分频寄存器一个保护时间和预分频寄存器(USART_G

4、TPR)11第六章第六章 I/O接口电路接口电路12第六章第六章 I/O接口电路接口电路在在MCS-51MCS-51单片机中,单片机中,数据缓冲器数据缓冲器SBUFSBUF:实际是由发送:实际是由发送SBUFSBUF和接收和接收SBUFSBUF组成。组成。发送发送SBUFSBUF和接收和接收SBUFSBUF共用一个地址共用一个地址99H99H。 1 1)发送)发送SBUFSBUF存放待发送的存放待发送的8 8位数据,位数据,写入写入SBUFSBUF将同时启动发送将同时启动发送。发送指令:发送指令:M MOV VSBUFSBUF,A A2 2)接收)接收SBUFSBUF存放已接收成功的存放已接收

5、成功的8 8位数据,供位数据,供CPUCPU读取。读取。读取串行口接收数据指令:读取串行口接收数据指令:M MOV AV A,SBUFSBUF13第六章第六章 I/O接口电路接口电路/*- Universal Synchronous Asynchronous Receiver Transmitter -*/typedef struct vu16 SR; u16 RESERVED0; vu16 DR; u16 RESERVED1; vu16 BRR; u16 RESERVED2; vu16 CR1; u16 RESERVED3; vu16 CR2; u16 RESERVED4; vu16 CR3

6、; u16 RESERVED5; vu16 GTPR; u16 RESERVED6; USART_TypeDef; /用结构体USART_TypeDef定义USARTx串口,(即定义 USARTx串口的7个设置寄存器)14第六章第六章 I/O接口电路接口电路15第六章第六章 I/O接口电路接口电路MCS-51单片机的串行通讯:适用于传送距离不大于15m,速度不高于20kb/s的本地设备之间通信的场合。STM32单片机的USART串口:采用分数波特率发生器,串行发送、接收数据的最高速率=72M/16=4.5Mb/s16第六章第六章 I/O接口电路接口电路MCS-51单片机串行口结构示意图发 送S

7、BUF(99H)门发 送 控 制 器接 收 控 制 器1输 入 移 位 寄 存 器串行控制寄存器(98H)定时器1接 收SBUF(99H)888TIRI内 部 总 线TXD(P3.1)RXD(P3.0)串 行 口 中 断17第六章第六章 I/O接口电路接口电路4、在使用、在使用USARTUSART串口时,串口时,首先要使能该外设对应的时钟首先要使能该外设对应的时钟1、USARTx 串口串口 定义定义 2、USART_InitTypeDef 初始化串口参数初始化串口参数 定义定义3、USART_Init 初始化初始化串串口口 定义定义stm32串口配置串口配置 18第六章第六章 I/O接口电路接

8、口电路1、编程时,USARTx串口的具体配置是从USARTx寄存器组开始。首先,用结构体USART_TypeDef 定义 USARTx寄存器组:19第六章第六章 I/O接口电路接口电路在文件“stm32f10 x_map.h”中,定义如下:/*- Universal Synchronous Asynchronous Receiver Transmitter -*/typedef struct vu16 SR; u16 RESERVED0; vu16 DR; u16 RESERVED1; vu16 BRR; u16 RESERVED2; vu16 CR1; u16 RESERVED3; vu16

9、 CR2; u16 RESERVED4; vu16 CR3; u16 RESERVED5; vu16 GTPR; u16 RESERVED6; USART_TypeDef; /用结构体USART_TypeDef定义USARTx串口, /或称或称用结构体USART_TypeDef定义 USARTx寄存器组USARTx串口的7个设置寄存器20第六章第六章 I/O接口电路接口电路#define USART1_BASE (APB2PERIPH_BASE + 0 x3800)#define USART2_BASE (APB1PERIPH_BASE + 0 x4400)#define USART3_BAS

10、E (APB1PERIPH_BASE + 0 x4800)USARTx寄存器组 的首地址:/* Peripheral base address in the bit-band region */#define PERIPH_BASE (u32)0 x40000000)/* Peripheral memory map */#define APB1PERIPH_BASE PERIPH_BASE#define APB2PERIPH_BASE (PERIPH_BASE + 0 x10000)#define AHBPERIPH_BASE (PERIPH_BASE + 0 x20000)0 x400148

11、000 x400138000 x4001440021第六章第六章 I/O接口电路接口电路#ifdef _USART1 #define USART1 (USART_TypeDef *) USART1_BASE)#endif /*_USART1 */#ifdef _USART2 #define USART2 (USART_TypeDef *) USART2_BASE)#endif /*_USART2 */#ifdef _USART3 #define USART3 (USART_TypeDef *) USART3_BASE)#endif /*_USART3 */22第六章第六章 I/O接口电路接口电

12、路2、USART_InitTypeDef 初始化串口参数初始化串口参数 定义定义/* USART Init Structure definition */typedef struct u32 USART_BaudRate; u16 USART_WordLength; u16 USART_StopBits; u16 USART_Parity; u16 USART_Mode; u16 USART_HardwareFlowControl; USART_InitTypeDef;/用于初始化用于初始化USARTUSARTx x串口的参数串口的参数(包括波特率、字长(包括波特率、字长即数据位、停止位、奇偶

13、效验位、工作即数据位、停止位、奇偶效验位、工作模式、硬件流控制)模式、硬件流控制)在文件“stm32f10 x_usart.h”中,定义:23第六章第六章 I/O接口电路接口电路描述了结构体描述了结构体USART_InitTypeDef 在同步和异步模式下使用的不同成员。在同步和异步模式下使用的不同成员。24第六章第六章 I/O接口电路接口电路比较比较 结构体结构体USART_TypeDef 和和USART_InitTypeDef :25第六章第六章 I/O接口电路接口电路功能:根据USART_InitTypeDef中指定的参数,初始化外设USARTx串口串口3、USART_Init 初始化初

14、始化串串口口 定义定义26第六章第六章 I/O接口电路接口电路 USART_Init(USART1, &USART_InitStructure); /初始化USARTx串口串口例如, USART_InitTypeDef USART_InitStructure; /定义结构体变量USART_InitStructure,用于初始化外设USARTx串口串口的参数27第六章第六章 I/O接口电路接口电路/* Function Name : USART_Init* Description : Initializes the USARTx peripheral according to the speci

15、fied* parameters in the USART_InitStruct .* Input : - USARTx: Select the USART or the UART peripheral. * This parameter can be one of the following values:* - USART1, USART2, USART3, UART4 or UART5.* - USART_InitStruct: pointer to a USART_InitTypeDef structure* that contains the configuration inform

16、ation for the* specified USART peripheral.* Output : None* Return : None*/void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct) u32 tmpreg = 0 x00, apbclock = 0 x00; u32 integerdivider = 0 x00; u32 fractionaldivider = 0 x00; 在文件“stm32f10 x_usart.c”中,定义:28第六章第六章 I/O接口电路接口电路 STM3

17、2的SPI接口29第六章第六章 I/O接口电路接口电路n SPI是一种全双工的同步串行接口,利用3条线完成两个芯片之间的双工高速通信。两条数据线用于收发数据,一条时钟线用于同步。n 一个SPI总线可以连接多个主机和多个从机。在同一时刻只允许一个主机操作总线,并且同时只能与一个从机通信。主机控制数据的传输过程。n 串行时钟由主机产生,当主机发送一字节数据(通过主出从入MOSI引脚)的同时,从机返回一字节数据(通过主入从出MISO引脚)。30第六章第六章 I/O接口电路接口电路SPI通信原理31第六章第六章 I/O接口电路接口电路SPI总线可在软件的控制下构成各种简单的或复杂的系统:n1个主MCU

18、和几个从MCUn几个从MCU相互连接构成多主机系统(分布式系统)n1个主MCU和1个或几个从I/O设备 32第六章第六章 I/O接口电路接口电路n主机模式 MASTER: 当器件作为主机时,使用一个IO引脚拉低相应从机的选择引脚(NSS),传输的起始由主机发送数据来启动,时钟(SCK)信号由主机产生。通过MOSI发送数据,同时通过MISO引脚接收从机发出的数据。n从机模式 SLAVE: 当器件作为从机时,传输在从机选择引脚(NSS)被主机拉低后开始,接收主机输出的时钟信号,在读取主机数据的同时通过MISO引脚输出数据。33第六章第六章 I/O接口电路接口电路34第六章第六章 I/O接口电路接口电路数据传输格式:n通常是高位(MSB)在前,低位(LSB)在后。一些增强型MCU中可以通过软件设置高位在前或低位在前。n下面以位数据的传输为例,看一下种不同数据传输格式的时序。首先介绍两个概念:时钟极性:表示时钟信号在空闲时是高电平还是低电平。1.时钟相位:决定数据是在SCK的上升沿采样还是在SCK的结束沿采样。35第六章第六章 I/O接口电路接口电路数据帧格式:n可编程设定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论