单片机——使用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);与串口调试助手中的波特率保持一致

相关推荐
Devlab1 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
Dr.kangder5 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
zlinear数据采集卡7 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛139246256737 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun9 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
振南的单片机世界9 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈10 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun10 小时前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果10 小时前
28-DRV8825PWPR步进电机驱动器
单片机
恒锐丰科技韩生10 小时前
率能 SS6625E|3.0~20V 单通道 H 桥直流电机驱动 SOP8 电子锁玩具机器人分享
嵌入式硬件·硬件工程