请教马老师:你的书中(AVR单片机嵌入式系统原理与应用实践)的demo14.1 c中如果直接把发
如题:也就是完全接收完一个数据包后(有5个数据)再进行处理,结果单片机接收不到上位机的数据。如加上发送部分的程序,则又可以接收。这是为什么呢?我找了好几天都没找出问题来。。 你把哪个发送部分注释掉了?如果是主程序中的发送部分,只能注释掉5个putchar语句,Uart_RecvFlag = 0可不能注释掉,否则接收部分把后收到的都放弃了。
如果你把发送中断服务注释掉了,那么在putchar函数中的第一句就是死循环,因为发送缓冲区满了5个字,如果中断不能发送。缓冲区一直满的,程序在这里死等发送。 晕死,都1点多了马老师还在线上啊?
我把发送部分全都注释掉了,包括发送中断服务程序,putchar函数以及主函数里的5个putchar语句。
会不会因为用ICCAVR的原因呢?我用的是ICCAVR6.31A。
在AVRSTUDIO里看到汇编第一句没有跳转:
0000000E: FFFF ??? Data or unknown opcode //这里正常的话会有跳转语句。jump...
+0000000F: FFFF ??? Data or unknown opcode
+00000010: FFFF ??? Data or unknown opcode
+00000011: FFFF ??? Data or unknown opcode
+00000012: FFFF ??? Data or unknown opcode
+00000013: FFFF ??? Data or unknown opcode
+00000014: FFFF ??? Data or unknown opcode
+00000015: FFFF ??? Data or unknown opcode
+00000016: 940C006F JMP 0x0000006F Jump
为什么呢?。。
页:
[1]