智能车制作

标题: 冷火代码写法区别求区别! [打印本页]

作者: 赵彤山东    时间: 2013-2-14 19:40
标题: 冷火代码写法区别求区别!
MCF_PWM_PWME|=MCF_PWM_PWME_PWME5;
和MCF_PWM_PWME=0b00010000和
MCF_PWM_PWME=0x01有什么区别嫩?
都是让5口置1吧

作者: 赵彤山东    时间: 2013-2-14 19:40
2楼怎么会是我的?
作者: agogos    时间: 2013-2-14 20:13
赵彤山东 发表于 2013-2-14 19:40
2楼怎么会是我的?

一共三句赋值。第二句和第三句有区别,0b00010000和0x01是不同的数值,0x是16进制的,0b是二进制,0x0100才等于0b00010000。建议好好看看进制转换。
第一句和第二三句也有区别。MCF_PWM_PWME_PWME5应该在#define宏定义中有,说不定就是下面的0b00010000(我没冷火的代码,但意思都是一样的),所以说数值上是一样的。但,其中有一个位或运算“|”表示每位都作一个或,主要用来置高其中的某一位。

你的问题太过基础,所以没有人理你。建议好好学习C语言外加多多思考。




作者: qurrer    时间: 2013-2-14 20:57
进制的问题
作者: 赵彤山东    时间: 2013-2-15 18:20
agogos 发表于 2013-2-14 20:13
一共三句赋值。第二句和第三句有区别,0b00010000和0x01是不同的数值,0x是16进制的,0b是二进制,0x0100 ...

恩恩,确实宏定义里有,我大意了,有没有芯片可以用2进制给寄存器赋值的?

作者: agogos    时间: 2013-2-16 08:32
赵彤山东 发表于 2013-2-15 18:20
恩恩,确实宏定义里有,我大意了,有没有芯片可以用2进制给寄存器赋值的?

这和C语言有关,二进制在C语言里边就是0b开头,可以和0x的十六进制互换。所以只要是支持C语言的芯片都可以用二进制。





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2