printf函数 的 格式参数; USB接口 使用 printf 打印数据
keil C51 编译器使用 printf 打印数据时,在%后面根据数据格式需要加关键字:8位"b", (默认)16位"h"或不加, 32位"l"
例如打印有符号十进制数据:
打印8位数据:%bd
打印16位数据:%hd 或者 %d
打印32位数据:%ld
keil C251 编译器使用 printf 打印数据时,
8位/16位不加参数, 32位加"l"
USB接口 使用 printf 打印数据时
在USB头文件前定义 #define PRINTF_HID //将printf函数映射到USB接口
或者在USB头文件里面开启 #define PRINTF_HID定义
===有视频讲解
keil C51 编译器使用 printf 打印数据时,
在%后面根据数据格式需要加关键字:8位"b", (默认)16位"h"或不加, 32位"l"
例如打印有符号十进制数据:
打印8位数据:%bd
打印16位数据:%hd 或者 %d
打印32位数据:%ld
printf("cnt8=%bu, ",cnt8++); //C51编译器printf输出8位数据需要使用"%b"
printf("cnt16=%hu, ",cnt16++); //C51编译器printf输出16位数据需要使用"%h"或不加参数
printf("cnt32=%lu\r\n",cnt32++); //C51编译器printf输出32位数据需要使用"%l"
keil C251 编译器使用 printf 打印数据时,8位/16位不加参数, 32位加"l"
printf("cnt8=%u, ",cnt8++); //C251编译器printf可直接输出8位/16位数据
printf("cnt16=%u, ",cnt16++); //C251编译器printf可直接输出8位/16位数据
printf("cnt32=%lu\r\n",cnt32++);
USB接口 使用 printf 打印数据时
在USB头文件前定义 #define PRINTF_HID //将printf函数映射到USB接口
或者在USB头文件里面开启 #define PRINTF_HID定义
【USB-CDC@STC32, USB-CDC@STC8H】 中如何用
【USB-HID@STC32, USB-HID@STC8H】 中如何用
2023/7/3期,STC32位8051实战宣讲会演示视频:
https://www.stcaimcu.com/forum.p ... 2990&extra=page%3D1
补充一下:
1. 16位数据 "h" 和 'i' 同等效果
2.不区分大小写.
3."f" 浮点数用格式[-]dddd.dddd
4."e" 浮点数用格式[-]d.dddde[-]dd
5."E" 浮点数用格式[-]d.ddddE[-]dd
6."g" 浮点数用 e或 f格式, 无论那个对指定的值或精度更简洁
7."G" 和 g格式一样, 除了可能指数前为 E而不是 e 这个知识点 已完善解释,大家收藏下 !
重要的是,还补充了:
【USB-CDC@STC32, USB-CDC@STC8H】 中如何用
【USB-HID@STC32, USB-HID@STC8H】 中如何用
printf函数,现在找不到输出二进制的参数,也许原生就是没有的。 学习了,谢谢 keil C51 编译器使用 printf 打印数据时,
在%后面根据数据格式需要加关键字:8位"b", (默认)16位"h"或不加, 32位"l"
例如打印有符号十进制数据:
打印8位数据:%bd
打印16位数据:%hd 或者 %d
打印32位数据:%ld 总结得很好,收藏了 还没使用过printf函数{:4_167:} Mark, printf 需要定义char putchar(char c)