怎样将十进制数转换为二进制数?

dongtao1010 2014-10-23 02:36:31
因为想要实现上下位机之间的通讯,用到了NI-6008这个数据转接硬件。我首先通过单片机对温度进行采样,比如我采集得到的温度值是25摄氏度,我的MCU里面的一个参量temp=27;我想把它先转换为二进制数,然后将这个二进制数付给MCU的P6口,通过NI-6008检测我的P6口的电平变化,将temp的二进制数获取到,然后在上位机端口进行二进制数转十进制数,获取到我的数据,请问怎样在MCU里面实现十进制转二进制数啊。。。求解答。。。
...全文
485 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
falloutmx 2014-10-24
  • 打赏
  • 举报
回复
引用 3 楼 zhenglie110 的回复:
一根线传数值么, 按位传输,如果bit 是1 设 MCU的P6口为高电平,如果bit 是0 ,设MCU的P6口为低电平, 是不是还需要设置波特率以便上位机按照一样的波特率去读取呢,是不是还需要设置自己设置通信的起止位呢, 我想的好复杂哦
你想的没错,你看下1-wire单总线传输协议就知道了
shinerise 2014-10-23
  • 打赏
  • 举报
回复
机器可能用十进制来存数吗?十进制只是为了适应人正常识别才有这个概念。两个机器之间通信,保持相同的数据表达格式就行了啊。二进制是两个机器都一直的数据表达格式,他们之间互相懂就行了。
fly 100% 2014-10-23
  • 打赏
  • 举报
回复
除2 一直除下去呗
fire_drangon 2014-10-23
  • 打赏
  • 举报
回复
一根线传数值么, 按位传输,如果bit 是1 设 MCU的P6口为高电平,如果bit 是0 ,设MCU的P6口为低电平, 是不是还需要设置波特率以便上位机按照一样的波特率去读取呢,是不是还需要设置自己设置通信的起止位呢, 我想的好复杂哦
91program 2014-10-23
  • 打赏
  • 举报
回复
移位操作,是最简单的方法
falloutmx 2014-10-23
  • 打赏
  • 举报
回复
机器里本来存放的就是2进制,没啥10进制16进制的。用移位把一个个bit送出去就可以了

19,498

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧