找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2078|回复: 8
收起左侧

C语言中给单片机io端口赋二进制的值居然出错

[复制链接]
ID:608154 发表于 2020-2-8 20:43 来自手机 | 显示全部楼层 |阅读模式
本人一直用汇编,最近才用C语言,用P0口驱动数码管显示3 ,查编码为01001111 ,十六进制为0x4F ,汇编中P0=01001111和0x4F都对,C中P0=01001111居然出错,只能P0=0x4F才行,这是什么鬼?
看来C还是没有汇编强大。
回复

使用道具 举报

ID:446775 发表于 2020-2-8 22:11 | 显示全部楼层
您是直接写的就是P0=01001111吗?这显然不行
回复

使用道具 举报

ID:220005 发表于 2020-2-8 23:24 | 显示全部楼层
本帖最后由 Flywithliye 于 2020-2-9 16:46 编辑

二进制数之前要加0b哦~emmm搞错了不好意思
回复

使用道具 举报

ID:168996 发表于 2020-2-8 23:35 | 显示全部楼层
C51应该只能十进制(18)、十六进制(0x12)
回复

使用道具 举报

ID:235200 发表于 2020-2-9 00:28 | 显示全部楼层
因为C语言只支持10进制,十六进制和八进制,有了这3种数据,什么数都可以表示出来呀,不能说不支持二进制就不强大
回复

使用道具 举报

ID:77479 发表于 2020-2-9 01:04 | 显示全部楼层
C中P0=01001111是什么意思,你知道吗?赶紧看看书!
回复

使用道具 举报

ID:213173 发表于 2020-2-9 08:02 | 显示全部楼层
16进制是2进制的简短表达方式,不存在优劣高下问题,不同场合使用各有优势。C与汇编同样各有优势。
回复

使用道具 举报

ID:159575 发表于 2020-2-17 12:43 来自手机 | 显示全部楼层
这个只能16进制或者10进制。
回复

使用道具 举报

ID:158375 发表于 2020-2-18 10:29 | 显示全部楼层
汇编转C语言,会遇到许多问题:拿出你当初学用汇编的劲头,用那个劲头学学C......
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表