用串口通信控制单片机数码管的问题:我在电脑上输入的是16进制数,输出来的是十进制数
我想实现输入什么数,输出什么数,也就是输入十进制,输出十进制数,请问怎么实现?怎样才能手动输入的数是十进制呢?谢谢...
我想实现输入什么数,输出什么数,也就是输入十进制,输出十进制数,请问怎么实现?怎样才能手动输入的数是十进制呢?谢谢
展开
展开全部
两个解决办法啊:
1)你在电脑端直接输入10进制数,那么你显示的就是10进制数
2)如果你要显示你输入的16进制数MCU端不要直接将接到的数直接/10 %10,这计算出的全部是10进制数。
直接取高4位,送去显示,然后取低四位送去显示,那就可以了
程序的话,一个char rx_data
msb = unsigned char (rx_data >> 4)
lsb = unsigned char(rx_data & 0x0f)
然后msb送去十位显示
LSB送去低位显示就是你需要的数了
或者用1楼的方法,将你要显示的数转化成BCD码的形式
然后在分别取每一位数送去显示
1)你在电脑端直接输入10进制数,那么你显示的就是10进制数
2)如果你要显示你输入的16进制数MCU端不要直接将接到的数直接/10 %10,这计算出的全部是10进制数。
直接取高4位,送去显示,然后取低四位送去显示,那就可以了
程序的话,一个char rx_data
msb = unsigned char (rx_data >> 4)
lsb = unsigned char(rx_data & 0x0f)
然后msb送去十位显示
LSB送去低位显示就是你需要的数了
或者用1楼的方法,将你要显示的数转化成BCD码的形式
然后在分别取每一位数送去显示
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询