完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在《STM32 Uart 接收变长数据》的结尾,我们觉得每次使用这样的形式来输出信息感觉好麻烦,也不方便调试。 HAL_UART_Transmit(huart, &RxLenHi, 1, 1000); // 发送长度高位 HAL_UART_Transmit(huart, &RxLenlo, 1, 1000); // 发送长度低位 HAL_UART_Transmit(huart, uart4Rx, uart4RxLength, 1000); // 发送接收到的数据 所以我们就想想办法,看可不可以像标准C语言一样,使用printf往控制台打印信息。 在这一篇,我们提供了三种方法。 方法1:简单粗暴,直接写三个函数,一个负责输出字符串,名myPrintfChar;一个负责输出十进制数,名myPrintfDec;一个输出十六进制数,名myPrintfHex; void myPrintfChar(uint8_t* buf) { uint8_t * pDebBuf; uint16_t debugLen = 0; pDebBuf = debugBuffer; if(buf == NULL) return; // Put string to debugBuffer; while(1) { if(*buf==' |