Microchip
直播中

李蒙

7年用户 216经验值
私信 关注
[问答]

MPLABX IDE 3.20模拟器中的调试响应与开发工具上的不同怎么回事

嗨,我在制作应用程序的最后阶段,将温度读数数据发送到PC屏幕,以显示温度。这涉及到通过UART1传输数据。我在项目测试阶段使用的开发工具包是:Microstick for dsPIC33F和PIC24HPart Number:DM330013-1在仿真调试过程中,U1TXREG被加载了所需的数据(温度值转换为ascii)。另外,我们可以看到模拟器中的温度UART1输出窗口。但是,当我在开发工具上运行相同的程序并再次调试它时,它跳过该行将数据加载到U1TXREG。LE i还检查了变量表窗口中的值,该寄存器为该寄存器的值为零。如有任何帮助,请提前致谢。

回帖(6)

张娜

2020-5-7 11:03:11
嗯,不要太相信调试器,如果它在UART传输时打断了代码……你能用终端调试吗,比如说PC?让代码自由运行
举报

潘璐

2020-5-7 11:26:56
你使用哪个设备?在PIC24/33部分上,您必须通过PPS分配UART引脚。它们不默认为固定引脚。
举报

周娟

2020-5-7 11:36:43
我很难想象一个调试程序只是跳过一行代码。您使用的是什么设备和调试工具?更重要的是,当调试工具跳过代码行时,你到底在做什么?你一步一步地通过代码吗?在代码行上设置断点(并且可能遇到滑动问题)吗?
举报

洪茗苞

2020-5-7 11:50:01
嗨,我的系统硬件是Microchip的MicroTrok II开发工具,一个USB到TTL转换器和一个PC上的软件,用来显示从开发工具包上的PUIC的UART1发送的数据。在调试期间,我使用步进或步进函数或运行到光标。我还试图把断点放在正在跳过的线路之上。在某些情况下,它会进入线路,但不会将数据传输到发送寄存器中。在我设法与PC建立连接之后,输出通信。ansmitting:<0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0><0>0英镑& 0英镑& 0英镑& 0英镑,不知道这里出了什么事。每当我调试代码(在模拟器中,它工作得很好)以仅从PIC的UART传输数据时,在开发工具包MicrostickII上实时运行将使代码卡在下面;以下函数:void vPutCharU1(CHARCChar){.(U1STAbits.UTXBF);//在输出缓冲区已满时等待;每次数据被传输到cChar时,我的U1TXREG寄存器只有零,当cChar不断更新时,什么都不会发生。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分