原子哥你视频上讲的串口试验,就收到什么就发送什么的实验,我想不管接收到什么都发送一个指定的数字或者字符。
void USART1_IRQHandler(void)
{
int res;
if(USART_GetFlagStatus(USART1,USART_IT_RXNE))
{
res = USART_ReceiveData(USART1);
USART_SendData(USART1,res);
}
}
按照你的这个程序没问题,接收到什么就发送什么。但是我想发送一个1,就是不管接收什么我都发送一个1(其他字符也行比如OK什么的)
我修改的程序如下(其他的程序没动,只要换上你的语句就通信正常)我错在了那里??
if(USART_GetFlagStatus(USART1,USART_IT_RXNE))
{
u8 res=1;
USART_SendData(USART1,res);
}
这样就会接收乱码全是星星,,,怎么搞的,知道吗???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
是下面的意思吗大哥,,这样的结果是接受到一个数或者字符,就一直发送1,,,而我只想让单片机接收一个字符或者数字就发送一次1(或者其他字符)
if(USART_GetFlagStatus(USART1,USART_IT_RXNE))
{
// res='1';
//res = USART_ReceiveData(USART1);
USART_SendData(USART1,'1');
}
谢谢大哥指导了!!!
一周热门 更多>