您的位置:首页 > 其它

小知识点 - 串口输出数

2015-08-12 20:43 239 查看
一个小例子,要想在串口调试工具显示数,必须将这个数转换成对应的ASCII形式。

data += 0X30 / 48 put_c(data);

数 ------------------> ASCII码 --------------------> 输出

但是,如果这个数data大于10,那么在转换成ASCII的时候,要对data的每一位分别进行处理

例如:

#include <avr/io.h>
#include <string.h>
#include "usart.h"

//测试使用
//注意:strlen函数的使用,以及利用串口如何将这个长度输出(尤其是这个长度大于10的时候)。

unsigned char arr[] = {1,2,3,4,5,6,7,8,9,10,11,12,13};

int main(void)
{
unsigned char i = strlen(arr);
usart_init();

while(1){
if( i>0 && i<10){
put_c(i + 0x30);
}else if(i>=10){
put_c(i / 10 + 0x30);
put_c(i % 10 + 0x30);
}else{
//其它情况暂时不处理
}
put_c(get_c());
        }

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: