波特率是一个衡量通信速度的参数。它表示每秒传送的bit的个数(单位为bps)。例如300波特表示每秒钟发送300个bit。
2.下面是对UART接口初始化的代码,分析其中的代码的作用。 void USART1_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; }
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); (1) USART_InitStructure.USART_BaudRate = 115200; (2) USART_InitStructure.USART_WordLength = USART_WordLength_8b; (3) USART_InitStructure.USART_StopBits = USART_StopBits_1; (4) USART_InitStructure.USART_Parity = USART_Parity_No ; (5) USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; (6) USART_Init(USART1, &USART_InitStructure); (7) USART_Cmd(USART1, ENABLE); (8)
(1) 使能UART1接口的时钟。 (2) 设置波特率是115200bps。
(3) 设置UART1在传输时的字长是8bit (4) 设置停止位为1位 (5) 设置不适用奇偶校验位
(6) 配置串口的模式为双线全双工通讯,把Rx和Tx模式都开启。 (7) 调用库函数USART_Init()向寄存器写入配置参数 (8) 调用USART_Cmd() 使能USART1外设
3.串口通信时发送数据时,使用的函数是什么?while( USART_GetFlagStatus(USART1,USART_FLAG_TC)的含义是什么?
使用的函数USART_SendData()进行单个字节数据的发送。使用while( USART_GetFlagStatus(USART1,USART_FLAG_TC)
!= SET) 语句不停地检查串口发送是否完成的标志位TC,一直检测到标志为完成,才进入一下步的操作。
第14章I2C接口
1. I2C接口使用几条总线线路,各是什么?
I2C接口使用两条总线线路,一条双向串行数据线(SDA) ,一条串行时钟线(SCL)。 2. I2C接口具有三种传输模式是哪些?速率可以达到多少?
I2C有3种传输模式,分别是:标准模式传输速率为100kbit/s ,快速模式为400kbit/s ,高速模式下可达 3.4Mbit/s,但目前大多I2C设备尚不支持高速模式。
3. I2C接口每个器件到总线的设备进行访问时,靠什么机制来进行不同设备之间的访问?
I2C器件都有一个独立的地址,可以利用这个地址进行不同设备之间的访问。