配置printf()輸出函數
? ? 1、來自于<stdio.h>
? ? 2、運行C語言時,輸出到終端
? ? 3、單片機沒有終端,需要使用串口,將要輸出的內容傳到電腦(串口調試助手)上
例子如下
#include <stdio.h>
#include "./SYSTEM/usart/usart.h"
int main(void){
? ? /*
? ? 串口通信的通信方式:多采用異步,很少使用同步
? ? ? ? 注意:UART(通用異步串口通信) ? ? USART(通用同步異步串口通信)
? ? */
? ? usart_init(115200); ?//初始化串口
? ? //使用printf輸出字符串 ? ? \r\n表示換行(為了兼容)
? ? printf("FFFFFFFFF\r\n");
? ??
? ? //驗證大小端
? ? uint8_t *p=(uint8_t*)&add;
? ? printf("%d\r\n",*p); ?//以十進制整型輸出 ? ?120
? ? printf("%x\r\n",*p); ?//以十六進制輸出 ? ? 78
? ? printf("%#x\r\n",*p); ?//以0x十六進制輸出 ? 0x78
? ? printf("%#x\r\n",*(p+1)); ?//0x56
? ? printf("%#x\r\n",*(p+2)); ?//0x34
? ? printf("%#x\r\n",*(p+3)); ?//0x12
? ? printf("%#x\r\n",*(p+4)); ?//隨機值}
①運行程序后
②把程序燒入到單片機上
③使用串口調試助手?
注意:
? ? ? ? 1、打開串口沒有內容顯示?是因為代碼沒有寫到while里,只運行一次,按復位鍵就會顯示內容了
? ? ? ? 2、?打開串口后,重新燒入程序會出現問題?是因為沒有關閉串口,把串口關閉后就可以重新燒入程序了
? ? ? ? 3、串口調試助手為什么會顯示錯誤?usart_init(115200);與串口調試助手中的波特率保持一致