STM32利用printf()向串口发送数据,当数据是函数返还值时,在串口调试助手中的数据居然一直是“0”??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32利用printf()向串口发送数据,当数据是函数返还值时,在串口调试助手中的数据居然一直是“0”??相关的知识,希望对你有一定的参考价值。

以下为程序部分代码:

DeviceIdCode = LCD_ReadReg(0x0000);
printf("\r\n DeviceIdCode = 0x%x ", DeviceIdCode);
printf("\r\n Device_IdCode = LCD_Read_Reg(0x0000) --> 0x%x", LCD_ReadReg(0x0000));
其中调用 LCD_ReadReg()将其返还值赋给变量 DeviceIdCode。
下面是串口调试助手里的内容:
DeviceIdCode = 0x9324 
Device_IdCode = LCD_Read_Reg(0x0000) --> 0x0
为什么第二个printf()中 LCD_ReadReg(0x0000)就变成“0”了呢,如果将第一个printf()的变量DeviceIdCode换成LCD_ReadReg(0x0000),显示结果就对了(%x为9324),真不知问题出在哪,希望大神给指指教指教!!!

参考技术A 在 DeviceIdCode = LCD_ReadReg(0x0000);
后加一句DeviceIdCode=DeviceIdCode;

以上是关于STM32利用printf()向串口发送数据,当数据是函数返还值时,在串口调试助手中的数据居然一直是“0”??的主要内容,如果未能解决你的问题,请参考以下文章