用的UART3作为串口进行通信,不加中断可以完成数据的发送,中断的话,我参考UART1 进行 设置的 代码如下;
1:#if EN_USART3_RX //已在.h文件中定义使能中断 1 使能 0 禁止
2:#if EN_USART3_RX
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//¿aÆôÏà1ØÖD¶Ï
//Usart1 NVIC ÅäÖÃ
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;//′®¿ú3ÖD¶Ïí¨μà
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=4;//ÇàÕ¼óÅÏ輶3
NVIC_InitStructure.NVIC_IRQChannelSubPriority =3; //×óóÅÏ輶3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQí¨μàê1Äü
NVIC_Init(&NVIC_InitStructure); //¸ù¾YÖ¸¶¨μÄ2Îêy3õê¼»ˉVIC¼Ä′æÆ÷¡¢
#endif
中断的配置
3:中断函数 void USART3_IRQHandler(void) 参考UART1的
4 在主循环中 条用了ceshi函数
void ceshi ( )
{
u8 len1,j;
if(USART3_RX_STA&0x8000)
{
len1=USART3_RX_STA&0x3fff;//μÃμ½′Ë′νóêÕμ½μÄêy¾Y3¤¶è
if(USART3_RX_BUF[0]=='a')
{
USART_SendData(USART3,'b');
}
USART3_RX_STA=0;
}
}
我如果把测试中的换成UART1的话,可以实现,改成3的话GG啊
求大神看下我是不是某些地方忘了设置了,看了一上午了
在线等啊
原子哥 没明白什么意思啊 绑定 ? 能详细点吗
一周热门 更多>