完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
设备简介 也支持美国通用同步发送器和外部同步发送器的一种同步发送器(发送器,接收器,接收器和外部发送器)是一种同步发送器,接收器与外部发送器的通用同步发送器,是一种同步发送器,发送器和外部发送器的同步发送器,是一个同步发送器,发送器和外部发送器的同步发送器,用于同步发送器,发送器和外部发送器的同步发送器,发送器和外部发送器同步发送器,发送器和外部发送器同步发送器,发送器和发送器发送器和发送器同步发送一个重要的接口,用于发送一个同步发送器,发送器和发送器发送一个同步发送器。单机程序调试的一种重要手段,对于STM32F103ZET6来说,它的功能也很齐全,就提供了5个调试的调试工具,我们一般用在电脑上调试的路试工具调试信息,确实了解程序运行是否出错,如果有错误的话,是在哪里 的相关概念通信协议也能知道多 线程通信的优点,是传输快速的。多需要三通信数据,传输需要信号的线序相对于并行通信的比较少的线: RXD ,TXD,GND,明确这种通信的优点是需要占用的唯一根线脚资源,只允许传输速率不高的单数据传输,只支持数据传输方向半双工允许数据在方向上传输,但是,在工作时刻,数据在【一个上】它传输,其实是【一种切换】的【单工通信】全双工允许数据【同时在两个方向上传输】,因此,全双工是【两个单工通信的结合方式】 】,发送设备和接收设备独立要求的接收频率和发送能力需要同步 通讯 带【同步信号】传输 如IIC通讯两根线,相当于SDA数据线,通讯是SCL线 约 【不带也】【时钟】 发出的信号可以不受管制的时钟线的就是约束 USART的信号
结构体中的参数 typedef struct { uint32_t USART_BaudRate; // 波特率 uint16_t USART_WordLength; //数据字长 uint16_t USART_StopBits; // 停止位 uint16_t USART_Parity; // 奇偶校验位选择 uint16_t USART_Mode; // USART 模式 uint16_t USART_HardwareFlowControl; // 硬件流控制 } USART_InitTypeDef;
启动端配置成浮空配置,输出端配置成多路输出,为什么这样配置输入端呢 ?世界 #include "stm32f10x.h" void NVIC_Config(void) { NVIC_InitTypeDef NVIC_InitStructure; NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); } void USART_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; // 打开串口 GPIO USART1 的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //GPIOA_9 USART1 TX 配置为推挽复用模式 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStructure); //GPIA_10 USART1_RX 配置为浮空输入模式 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; GPIO_Init(GPIOA,&GPIO_InitStructure); //配置USART1的参数 USART_InitStructure.USART_BaudRate = 115200;// 配置波特率 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;// 配置硬件流控制 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;// 配置工作模式,收发一起 USART_InitStructure.USART_Parity = USART_Parity_No;//配置校验位 USART_InitStructure.USART_StopBits = USART_StopBits_1;//配置停止位 USART_InitStructure.USART_WordLength = USART_WordLength_8b;//配置数据字长 USART_Init(USART1, &USART_InitStructure);// 完成串口的初始化配置 NVIC_Config();//配置NVIC USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//使能接收中断 USART_Cmd(USART1, ENABLE);// 使能串口 } //发送一个Byte void Usart_SendByte( USART_TypeDef * USARTx, uint8_t ch) { USART_SendData(USARTx,ch); //发送一个字节数据到 USART while (USART_GetFlagStatus(USARTx, USART_FLAG_TXE) == RESET);//等待发送数据寄存器为空 } //发送一个字符串 void USART_SendStr(USART_TypeDef *USARTx,uint8_t *str) { uint8_t i = 0; do { Usart_SendByte(USART1,*(str+i)); i++; }while( *(str+i) != ' |