中易网

单片机发数据给串口助手,为啥怎么都是十六进制的,我修改了好几次也不行,请教各位单片机爱好者们

答案:5  悬赏:10  
解决时间 2021-04-07 17:35
最近在做一个超声波测距的实验,主要是将距离数据传送给串口调试助手以十进制显示出来 我写的控制部分 void cont() { uint A,B,C; TIME=TH0*256+TL0; TH0=0; TL0=0; S=(TIME*1.7)/100; if(S>=700||flag==1) { flag=0; P0=1; printf("-----\n"); } else {TI=1; printf("SBUF,S=%d\n",S); while(!TI); TI=0; A=S/100; B=S%100/10; C=S%10; display(A,B,C);//数码管显示 } } 总是不行串口总是显示写十六进制的数,怎么办
最佳答案
传送的是BCD码
全部回答
为啥怎么都是十六进制的 这句话是什么意思?
单片机 没有 处理的 情况下,发送 接收 的 都是 十六进制数 串口助手 里可以 显示 十六进制数,也可以 显示 ASCII 字符 其实,如果 单片机 有程序处理,一样可以显示 字符、ASCII码 显示 十六进制数 没有什么关系,你能看懂就可以了 下一步 你 写 上位机 程序 时 要 处理、转换 的
【1】能显示“SBUF,S=”这些字符吗?如果不能显示字符,换一个串口助手。 【2】以下程序经过测试,应该可以解决显示问题。你的做法需要对S进行类型的强制转换。 具体显示给出了两种方法: #include "reg51.h" #include "stdio.h" void main(void) { float S=18.3; char buf[20]; TMOD=0x20; TH1=TL1=0xff; SCON=0x50; TR1=1; TI=1; //【2-1】========================================= printf("SBUF,S=%d\n",(unsigned int)S); 或者 printf("SBUF,S=%f\n",S); //【2-2】========================================= sprintf(buf,"SBUF,S=%f\n",S); printf (buf); while(1); }
从右向左计算的,而不是平时大家生活中的从左向右. 所以,ad_data%51*10/51应该写成((ad_data%51)*10)/51 还有,你的波特率是否正确,要根据你用的晶振来计算 你说的数码管显示,请说说具体的接线和IC,如果是在串口助手上显示乱码,那多半是波特率问题,你的程序应当是显示X.000。 你程序的关键部分还是运算符的方向问题。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
完美芦荟胶白天摸脸用感觉干、可以使用过芦荟
联想笔记本100sn3050 在京东上面买还是天猫上
春晚上王力宏和李云迪合奏的那段曲子叫什么?
伊犁华松机动车驾驶培训学校怎么去啊,有知道
大丰石材地址在什么地方,想过去办事
如何用SQL语句将职工信息表与部门信息表中,相
到吉首开一个卖衣服的实体店赚钱吗?
耳洞后面穿不过去
我是90后的内容是什么
有一部外国电影,讲述一个小女孩和他外公的感
开封市梁园派出所警号019765接手的雇人入室打
请求帮忙将1张图片转换为mdl格式文件
公司扣押劳动者身份证怎么办?
良品铺子一天的营业额
馨雅美容养生会馆地址在哪,我要去那里办事
推荐资讯
九浪沟怎么去啊,有知道地址的么
当幼儿园老师必须要考幼师证吗
辽宁省公务员考试行测总分是多少?
2012轩逸经典手动方向机油怎么加
浅蓝色牛仔裤配白色上衣配粉色外套可以吗,求
寒带地区包括什么气候和什么气候,合称什么气
海关票比对相符发现单位错误,还能删吗?
大威烧烤怎么去啊,有知道地址的么
雷达的天线就像蝙蝠的( ),雷达发出的无
中国联通校园沃店在什么地方啊,我要过去处理
形容找东西的词语
晨曦茶城地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?