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),真不知问题出在哪,希望大神给指指教指教!!!
后加一句DeviceIdCode=DeviceIdCode;
以上是关于STM32利用printf()向串口发送数据,当数据是函数返还值时,在串口调试助手中的数据居然一直是“0”??的主要内容,如果未能解决你的问题,请参考以下文章
STM32串口的介绍与使用(原理结构体发送字符串printf函数重定向)
我的stm32串口使用printf函数总是不能成功发送数据啊,各位大哥大姐能帮忙看一下吗?实现的功能就是循环