66问答网
所有问题
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态显示出来,波特率自定
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态显示出来,波特率自定
写这个程序的思路是怎样的?(我的板是用三八译码器控制数码管的位选的,还没学AD转换。)请教各位高手
举报该问题
推荐答案 2012-08-18
以16进制发送一个0-65536之间的任一数,....
是串口通信吗?
串口,只能传输0~255之间的数。
想要传送较大、较多的数,那就不是一次能完成的。
还是先研究明白了单次的传输吧。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/D2s22pDxv.html
其他回答
第1个回答 2012-08-21
判断串口的数是8位还是16位,这个可以在串口协议中约定,收到数据后16进制转bcd码,然后显示程序显示。
波特率双方约定。
第2个回答 2012-08-18
你这个又不需要AD转换啊
相似回答
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态
...
答:
while(!TI);TI=0;ES=1;……
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态
...
答:
估计是波特率的问题 12MHz晶振可以使用4800bsp的波特率 PCON=0x80;TH1 = 0xF3;TL1 = TH1;
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态
...
答:
void disp(){ P0=tab[temp/16]; // 发送 P2=0x02;delay(5);P0=tab[temp%16];P2=0x01;delay(5);P0=tab[(temp+1)/16]; //接收 P2=0x80;delay(5);P0=tab[(temp+1)%16]; //接收 P2=0x40;delay(5);} //初始化串行口 void csh(){ SM0=0;SM1=1;REN=1;TI...
题目:
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上
...
答:
以16进制发送一个0-65536之间的任一数
:这题目本身是有问题的,因为超过255的数,要用两个字节了,就是需要发送两次。而你程序只接收一次,shu = SBUF;这是不可能的。发送两次,要分高8位和低8位,这还要确定是先发高8位,还是先发低8位。下一个问题是,看你的仿真图,是用虚拟终端
发的,
对...
题目:
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上
...
答:
将RI清0,取数据送buff[0];第二 次收到数据RI==1,清0取数据,送buff[1]就够一个整型数据了,为什么后面还有一个 while (!RI); RI = 0;这可第三次收到数据了,虽然没取数据,但对RI清0了,又允许下一次接收了,下一轮开始接收的buff[0]数据实际上是第4个数据了,不乱套了吗?
以16进制发送一个0-65536之间的任一数,当单片机收到后在数码管上动态
...
答:
能做到的。在
收到16进制的数后,
首先要译码(BCD码或数码管的段码),然后才能
在数码管上显示,
大家正在搜
65535的16进制是多少
C语言通过串口发送16进制数
16384的16进制
65536的二进制
60536转16进制
1000101转化为十进制
tcp发送16进制
65536转化为2进制
65536十六进制