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”??的主要内容,如果未能解决你的问题,请参考以下文章

STM32串口打印的那些知识

STM32串口打印的那些知识

STM32串口的介绍与使用(原理结构体发送字符串printf函数重定向)

我的stm32串口使用printf函数总是不能成功发送数据啊,各位大哥大姐能帮忙看一下吗?实现的功能就是循环

STM32G070RBT6基于STM32CubeMX创建串口中断接收数据

stm32 串口发送数组 cpu可以工作吗