資源簡介
通過可變參數函數實現printf()函數功能,可將其應用于單片機,ARM裸機等的串口輸出中去,并且新增了[%b:實現二進制輸出,原來printf函數不能實現的功能]。也可將其使用的液晶的字符類驅動中去。
代碼片段和文件信息
#include?
#include?
?
/*
可變參數實現printf
使用putchar()函數作為輸出
思路:
通過遍歷固定參數format從中提取出,可變參數類型
然后使用putchar()函數輸出對應參數值
*/
/*
@?使用遞歸用putchar()函數輸出整數
@?在函數void?printf_demo4(const?char?*format?...)中調用
*/
void?printf_int(int?tmp)
{
if?(tmp?>?9)
{
printf_int(tmp?/?10);
}
putchar(tmp?%?10?+?‘0‘);
}
/*
@實現功能,輸入十進制或者十六進制可以打印出二進制數據
@通過位操作,當高位不為0時開始進行輸出
*/
void?printf_binary(int?tmp)
{
char?flag?=?0;
int??ret?=?0;
char?tmp_sizeof?=?sizeof(tmp);//先判斷出輸入數據是幾位數據
for?(int?i?=?0;?i? {
if?(tmp_sizeof?==?4)
{
ret?=?0x80000000?&?tmp;
if?(ret?!=?0)
{
putchar(1?+?‘0‘);
flag?=?1;
}
else?if?((flag?==?1)?&&?!ret)
{
putchar(0?+?‘0‘);
}
tmp?<<=?1;
}
else?if?(tmp_sizeof?==?2)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4426??2018-05-07?14:50??my_printf\my_printf.c
?????文件???????1146??2018-05-07?14:53??my_printf\my_printf.h
?????目錄??????????0??2018-05-07?14:54??my_printf
-----------?---------??----------?-----??----
?????????????????5572????????????????????3
- 上一篇:指示燈閃爍labview
- 下一篇:微機原理模擬計算器設計課程設計
評論
共有 條評論