金牌会员
- 积分
- 1236
- 金钱
- 1236
- 注册时间
- 2015-5-14
- 在线时间
- 352 小时
|
发表于 2022-11-21 10:49:57
|
显示全部楼层
给你个例子参考下:
这是接收代码:
void uart1_rx_irq(void)
{
uint8_t chTemp = 0;
//接收
if(SET == LL_USART_IsActiveFlag_RXNE_RXFNE(USART1)){
//USART_ClearITPendingBit(USART1, USART_IT_RXNE);
chTemp=LL_USART_ReceiveData8(USART1);
uartx_rx(&s_tUart1Parameter,chTemp);
}
}
这是发送代码:
void uart1_tx_irq(void)
{
fsm_rt_t tTemp = fsm_rt_err;
uint8_t chTemp = 0;
//发送
if(SET == LL_USART_IsActiveFlag_TC(USART1)){
LL_USART_ClearFlag_TC(USART1);
tTemp = uartx_tx(&s_tUart1Parameter,&chTemp);
switch(tTemp){
case fsm_rt_on_going:
LL_USART_TransmitData8(USART1, chTemp);
break;
case fsm_rt_cpl:
LL_USART_DisableIT_TC(USART1);
break;
case fsm_rt_err:
LL_USART_DisableIT_TC(USART1);
break;
default:
FSM_DEFAULT_ACTION();
}
}
} |
|