新手入门
- 积分
- 8
- 金钱
- 8
- 注册时间
- 2021-12-30
- 在线时间
- 1 小时
|

楼主 |
发表于 2021-12-30 21:16:56
|
显示全部楼层
void USART1_IRQHandler()
{
uint8_t ucTemp;
if (USART_GetITStatus(USART1,USART_IT_RXNE) != RESET)
{
ucTemp = USART_ReceiveData( USART1 );
Usart_SendByte(USART3,ucTemp);
}
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
}
void USART3_IRQHandler()
{
uint8_t ucTemp;
if (USART_GetITStatus(USART3,USART_IT_RXNE) != RESET)
{
ucTemp = USART_ReceiveData( USART3 );
Usart_SendByte(USART1,ucTemp);
}
USART_ClearITPendingBit(USART3,USART_IT_RXNE);
}
这个是代码 串口1和串口3的通信 自己写的能实现互相通信 这个可以吗?我的问题是这样的话假设串口1发送数据给串口3 引发串口3的接收寄存器不为空的中断 串口3中断函数内又把数据发给串口1 不就死循环了吗? 这个新人很不理解。或者是这个代码有问题吗
main函数就是两个串口的初始化 + whihle(1) |
|