基本知识(1)有关打印格式以及串口输出形式整理

有关打印格式以及串口输出形式整理

1、printf 打印格式:

 
        
1
printf(" "; //空格
2
printf("\n");  //换行
3
printf("\r\n");  //换行并移动光标到本行开始处
4
printf("%x");   //十六进制打印
5
printf("TT:%x,CRC:%x",t,crc1); //两个参数分别打印
6
printf("%u");   //十进制打印
7
printf("");     //
8
9
//位置前后不同,光标所在位置也不同,如下
10
printf("\r"); //标回到当前行首 
11
printf("\n"); //标垂直向下换一行 
12
13
eg: -表示光标 
14
printf("\r"); //a- 前
15
printf("\r"); //-a 后
16
17
printf("\n"); // 前: 
18
               a- 
19
printf("\n"); //后: 
20
               a 
21
               - 
22
printf("\r\n");//前: 
23
               abc- 
24
printf("\r\n");//后: 
25
               abc 
26
               - 
27
//数据打印,包括十进制形式,十六进制形式,十六进制并且以前面标号数字标记
28
 printf("%d",PulseTab0[j]); //十进制形式显示
29
 printf("%04x",PulseTab0[j]); //十六进制显示,并且四位补齐
30
 printf("[%3d]%04x,",j,PulseTab0[j]); //十六进制显示,并且数字标记
31
 printf("a=%d\n", a);//按照十进制整数格式输出,显示 a=1234
32
 printf("a=%d%%\n", a);//输出%号 结果 a=1234%
33
 printf("a=%6d\n", a);//输出6位十进制整数 左边补空格,显示 a= 1234
34
 printf("a=%06d\n", a);//输出6位十进制整数 左边补0,显示 a=001234
35
 printf("a=%2d\n", a);//a超过2位,按实际输出 a=1234
36
 printf("a=%-6d\n", a);///输出6位十进制整数 右边补空格,显示 a=1234
37
 printf("f=%f\n", f);//浮点数有效数字是7位,结果 f=3.141593
38
 printf("f=6.4f\n", f);//输出6列,小数点后4位,结果 f=3.1416
39
 printf("x=%lf\n", x);//输出长浮点数 x=0.123457
40
 printf("x=%18.16lf\n", x);//输出18列,小数点后16位,x=0.1234567891234567
41
 printf("c=%c\n", c);     //输出字符 c=A
42
 printf("c=%x\n", c);//以十六进制输出字符的ASCII码 c=41
43
 printf("s[]=%s\n", s);//%s遇见“\0”就停下,输出数组字符串s[]=Hello,World
44
 printf("s[]=%6.9s\n", s);//输出最多9个字符的字符串 s[]=Hello,Wor                
45
                 

                               
 AABCABCDEFGH
字符串式代码
A
ABC
ABCDEF GH
%
整个
A
ABC
ABCDEFGH
%5
左5位,不足则补齐
####A
##ABC
ABCDEFGH
%.5
整个
A
ABC
ABCDE
%5.5 S
只取5位
####A
##ABC
ABCDE
%-5 S
右起至少5位
A####
ABC##
ABCDEFGH

Printf  格式化字符串
 1-121234512346789
格式代码
1
-12
12345
123456789
% d
十进制
1
-12
12345
123456789
%6 d
至少6位
#####1
###-12
#12345
123456789
%.4 d
至少4位
0001
-0012
12345
123456789
%6.4 d
左起至少6位
##0001
#-0012
#12345
123456789
%-4 d
右起至少5
1####
-12#
12345
123456789
%04 d
至少4位补0
0001
-012
12345
123456789
%+ d
+1
-12
+12345
+123456789

Printf 格式化整型数值
 10.010.0001234512345.6789
格式代码
1
.01
.00012345
12345.6789
% f
取小数点后6位
1.000000
0.010000
0.000123
12345.678900
%10.2 d
小数点前6位,小数点后2位
######1.00
#####0.01
######0.00
##12345.67
% e
指数打印
1.000000e+00
1.000000e-02
1.234500e-04
1.234568e+04
%.4 e
指数小数点后4位打印
1.0000e+00
1.0000e-02
1.2345e-04
1.2346e+04
% g
1
0.01
0.00012345
12345.7

格式代码60229999999999975882752.000000
格式代码
6.023e23
% f
60229999999999975882752.000000
%10.2 e
小数点前10,后2
60229999999999975882752.00
% e
指数打印
6.023000e+23
%.4 e
指数小数点后4位
6.0230e+23
  
% g
6.023e+23



2、串口数据传输

 
        
1
//串口传输
2
 Usart1_Send((u8*)PulseTab0,400);
3
//485接口传输
4
 RS485_Send_Data((u8*)PulseTab0,400);
此时,打印时是乱码,只有让它以十六进制显示,才能正确看到数据

3、数据格式强制转换方式

 
        
1
//串口传输
2
Usart1_Send((u8*)PulseTab0,400);  //将u16的转换为u8,进行传输

4、打印数组元素

   1)字符串数组每个元素单独打印,如下:

 
        
1
printf("%x%x%x%x%x%x%x%x%x\n",str[0],str[1],str[2],str[3],str[4],str[5],str[6],str[7],str[8]);
   2)字符串数组元素,for循环打印元素

5、高八位,第八位存储

 
        
1
str[3]= (t>>8)&0xff;	//先低八位存储
str[4]= t&0xff;         //高八位存储
str[5]= crc1>>8;        //同上
str[6]= crc1&0xff;      //
  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值