______________________________________________________________________________________________________________________________________
无论是谁,你的一天也只有二十四小时。
你可以玩,也能可以睡大觉,可以去学习,也可以去探索那片从未到达的海域。
时间不会为任何人停留,你可以选择原地踏步,当然你也可以选择勇攀高峰。
------多年以后你会感谢现在努力的自己!
____________________________________________________________________________________________________________________________________
UART异步通信方式引脚连接方法:
-RXD:数据输入引脚。数据接受。
-TXD:数据发送引脚。数据发送。
void USART_Init();//串口初始化:波特率,数据字长,奇偶校验,硬件流控以及收发使能
void USART_Cmd();//使能串口
void USART_ITConfig();//使能相关中断
void USART_SendData();//发送数据到串口,DR
uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据
FlagStatusUSART_GetFlagStatus();//获取状态标志位
void USART_ClearFlag();//清除状态标志位
ITStatusUSART_GetITStatus();//获取中断状态标志位
void USART_ClearITPendingBit();//清除中断状态标志位
在串口配置之前,需要补充端口复用的过程
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); // 使能GPIOA口
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
//比如你要将端口PA9,PA10复用为串口,所以要使能串口时钟。
针对每个中断的抢占优先级和相应优先级
void NVIC_Init(NVIC_InitTypeDef* NVIC_InitStruct);
一般情况下,系统代码执行过程中,只设置一次中断优先级分组,比如分组2,设置好分组之后一般不会再改变分组。随意改变分组会导致中断管理混乱,程序出现意想不到的执行结果。
NVIC_Init();
USART_ITConfig();
⑥使能串口:USART_Cmd();
⑦编写中断处理函数:USARTx_IRQHandler();
⑧串口数据收发:
void USART_SendData();//发送数据到串口,DR
uint16_t USART_ReceiveData();//接受数据,从DR读取接受到的数据
⑨串口传输状态获取:
FlagStatusUSART_GetFlagStatus(USART_TypeDef*USARTx,uint16_t USART_FLAG);
voidUSART_ClearITPendingBit(USART_TypeDef*USARTx,uint16_t USART_IT);