如题所述
第1个回答 2011-04-13
我在ICCAVR软件里是可以的!
曾经也发现过中断函数没有被调用的情况!研究了一下才发现原因出在编译时没有设置单片机类型。
不知道回答对你有没有用!
曾经也发现过中断函数没有被调用的情况!研究了一下才发现原因出在编译时没有设置单片机类型。
不知道回答对你有没有用!
第2个回答 2011-03-31
函数中没开接收中断,你提问时也没上传接收中断函数,我没法分析。
从你的设计思路上说,接收中断函数里应该有unsigned cRXData;cRXData=UDR; Usart_PutChar(cRXData);
或者更简单一点:Usart_PutChar(UDR);
至于“不接电源时能收到数据也能发送”原因是TXD和RXD线上由MAX232引脚带电,经AVR的引脚内部保护二极管向VCC及耦合电容供电,使AVR电压达到一定值后工作,但工作一个小时间段后,VCC下降,AVR停止工作,而后又有一次又一次的充放电……,所以可能会断续地发0X31。
“RXD和TXD亮”的原因可能是你的串口调试软件一直在发送数据。
猜测中,等你的自问自答正解。本回答被提问者和网友采纳
从你的设计思路上说,接收中断函数里应该有unsigned cRXData;cRXData=UDR; Usart_PutChar(cRXData);
或者更简单一点:Usart_PutChar(UDR);
至于“不接电源时能收到数据也能发送”原因是TXD和RXD线上由MAX232引脚带电,经AVR的引脚内部保护二极管向VCC及耦合电容供电,使AVR电压达到一定值后工作,但工作一个小时间段后,VCC下降,AVR停止工作,而后又有一次又一次的充放电……,所以可能会断续地发0X31。
“RXD和TXD亮”的原因可能是你的串口调试软件一直在发送数据。
猜测中,等你的自问自答正解。本回答被提问者和网友采纳
第3个回答 2011-03-30
我去,直接试一哈不就知道了