单片机——使用printf调试

配置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);与串口调试助手中的波特率保持一致

相关推荐
智闲电子设计1 小时前
STM32 硬件 CRC 与 UID 实战:固件校验防变砖,UID 防抄板,这两个外设白用太可惜
stm32·单片机·嵌入式硬件
嵌入式阿蔡1 小时前
CoAP / LwM2M 轻量协议:受限设备为什么不用 MQTT
单片机·物联网·嵌入式
wuyk5552 小时前
107.FreeRTOS 链表深度解析:从原理到面试满分答案
c语言·开发语言·数据结构·stm32·单片机·链表·面试
hongmai6668882 小时前
ESP32-WROVER-IE-N4R8:外接天线+8MB内存,专治信号焦虑
笔记·单片机·嵌入式硬件·microsoft·risc-v
恒锐丰科技林技术员2 小时前
EG11722:高耐压 150V 降压 DC‑DC 电源芯片,工业宽压电源优选方案
经验分享·嵌入式硬件
安河桥。3 小时前
MIPI CSI-2物理层接口:C-PHY与D-PHY技术规格说明
嵌入式硬件·视频
雾削木3 小时前
GPIO基本概念
单片机·嵌入式硬件
LCG元4 小时前
STM32 USB CDC 虚拟串口开发实战:从 CubeMX 配置到 printf 重定向与稳定收发
stm32·单片机·嵌入式硬件
zcmodeltech4 小时前
源网荷储一体化沙盘模型多场景控制系统设计——基于STM32与Modbus RTU的源网荷储、多能互补、冷热电三联供全场景联动方案,服务范围覆盖全国
数据库·人工智能·stm32·单片机·嵌入式硬件
威嵌神州5 小时前
军工加固计算机七大核心特性解析|国产化、宽温、强加固工程实现
嵌入式硬件·计算机网络·fpga开发