admin 管理员组文章数量: 887021
2024年1月26日发(作者:div溢出隐藏)
void usart_init(u32 bound){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);
GPIO__Mode=GPIO_Mode_AF_PP; GPIO__Pin=GPIO_Pin_9; GPIO__Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStructure); GPIO__Mode=GPIO_Mode_IN_FLOATING; GPIO__Pin=GPIO_Pin_2; GPIO__Speed=GPIO_Speed_50MHz; GPIO_Init(GPIOA,&GPIO_InitStructure);
USART__BaudRate=bound; USART__HardwareFlowControl=USART_HardwareFlowControl_None; USART__Mode=USART_Mode_Rx|USART_Mode_Tx; USART__Parity=USART_Parity_No; USART__StopBits=USART_StopBits_1; USART__WordLength=USART_WordLength_8b; USART_Init(USART1,&USART_InitStructure);
NVIC__IRQChannel=USART1_IRQn; NVIC__IRQChannelCmd=ENABLE; NVIC__IRQChannelPreemptionPriority=3; NVIC__IRQChannelSubPriority=3; NVIC_Init(&NVIC_InitStructure);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); USART_Cmd(USART1, ENABLE);
}void USART1_IRQHandler(void){ if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET) { uint8_t res; res=(uint8_t)USART_ReceiveData(USART1); if(USART_RX_STA>=len) { USART_RX_STA=len;
return; } bufff[USART_RX_STA++]=res; } else if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET) { ; }}
版权声明:本文标题:串口通信详解(项目级接收、发送机制,基于STM32F103ZET6) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1706261373h504986.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论