串口以16进制发送0-99999999间的数,单片机收到后在数码管显示

2020-01-23 14:22发布

串口以16进制发送0-99999999间的数,单片机收到后在数码管显示 用附件里的程序改  我小白一个 求大神的帮忙指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
77条回答
laujc
2020-01-27 14:28
qiangfangeve 发表于 2014-8-14 16:10
我是想通过通过串口发送16进制的数到单片机 然后通过数码管显示出来 4位数的也行 就是不明白怎么拆分那串 ...

首先明白一点,串口通信是传输8bit字节,你这么大的数,需要用4个byte即32bit的类型来表示。即可以用一个unsigned long型的数来表示(假设unsigned long在你系统里是4byte的)。

这个unsigned long的数,在传输时,要分成4个8bit的数来传,因为串口一次传的就是8bit。单片机接收后,你首先需要将这4个8bit数转为一个unsigned long的数,然后再提示各个位(个,十,百,万,千,等)的数值送显示。


或者你传输时,直接分解好,直接传每一个位(个,十,百,万,千,等)的数字,单片机接收后就可以送显示了

一周热门 更多>