4路串口信号:
串口0---0(RX)and 1(TX)
串口1---19(RX)and 18(TX)
串口2---17(RX)and 16(TX)
串口3---15(RX)and 14(TX)。
其中串口0与内部 ATmega8U2 USB-to-TTL 芯片相模轮脊连,提供TTL电压水平的串口桐灶接收信号。
实在不行就用软串口
1。接收的数据先赋给一个变量,再返回。2。学会解决问题的方法很重要。问题出现,可采用排除法,将一个大问题拆分成几个棚并小问题,分别验证,缩小问题范围链袭迹。单独试验接收和发送是否好用,验证收和发程序是否正常。
祝禅纯你顺利!
所有分析都是建昌慎并立在你的硬件电路没设计错误,没焊接错误的情况下。
万用表先测量CPU电源电压是否正确。5V?
看你说的路子,你好像是要同一个CPU,发出去数据,然后再自己接收回来。若是这样,请保证CPU的RXD和TXD脚已经短路了。
你没说你烧写的程序,是否开启了看门耐迹狗。若开启了看门狗,孝凳你在程序中没有复位看门狗的语句,那你的程序其实就是在不停地复位,根本无法工作起来。
UBRR0L = 0x51
UBRR0H = 0x00
这两句请把顺序颠倒过来,先给UBRR0H赋值,再给UBRR0L赋值。具体请查阅PDF文档,大部分AVR中,需要这么特殊处理。
你的程序没给完整,无法判断你的接收程序正确与否。你是用中断接收还是查询接收?若是中断接收,全局中断开放否?接收程序是否将相关标志位复位以便下次再次接收数据了?会否已经正确接收到数据了,但你的判断方法有问题?
只能参考到此了,祝顺利!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)