您的位置:首页 > 运维架构 > Linux

我学习嵌入式linux开发入门过程(一)

2015-11-11 15:49 399 查看
在开始学习linux之前还需要补充一些最最基本的东西,如果这些不是很明白的,以后学习的时候,可能会有些坎坷。当然我要说的是一些非常基础的东西,很多人其实已经掌握的非常好的。所以这部分可以直接跳过去,也是没有关系的。但如果你只是计算机的初学者,建议你还是停下脚步听我唠叨这里几句。

想当初刚开始接触计算机的时候,就有人开始介绍二进制的0和1;进入学校学习的也是首先从二进制开始学习的。然而当我们把二进制转十进制,转十六进制算的滚瓜烂熟的时候,却从来没有意识到,这个二进制到底是用来做什么的。当然如果你只是做应用层的软件的话,这个二进制于你确实没有交集。但是如果做一些底层的驱动时,二进制就成了必须理解的概念。
对人来讲,10进制是正常的使用数制;在计算机中,很难用10个不同的状态来表示我们通常使用的十进制数和采用十进制数码来编码的各种信息。所以一般的硬件电路上用高低两个电平来表示两个不同的状态,于是我们用高电平表示一个数码1,用低电平表示另一个数码0。只有0
和1两个数码的话,我们就只能采用二进制来表示数值的大小了。而且二进制数0和1正好与逻辑量“真”和“假”也相对应,做逻辑处理也很方便。
因此,在计算机中,无论你表示一个数的数值大小,逻辑上的是或否,我们都采用二进制码来表示,这是一种无奈。


上图中是一张单片机的图片
说点简单的功能,比如点亮一盏LED灯,那么在电路上需要把灯的一端直连到单片机的一个管脚上,灯的地端接地,这样我控制单片机管脚的0或1就能控制LED灯的关或开。(实际电路可不能按我这么说的来实现,还需要增加上拉电路等等,因为一般的单片机的输出功率是不足以点亮LED灯的)

如果我需要和其他的器件做通讯的话,二进制我就可以用两根管脚来实现了。一根管脚做接收,一根做发送。比如我想发送12306的10进制数给对方,容我用计算器换算一下啊......(⊙v⊙)嗯,计算出来的结果是11000000010010,好了把这个发送吧!敲到麻袋!!!这么长的二进制数已经很烦人了,如果不规范一下,人都没法看了;引入规范,同样是11000000010010,然后是4个一组,!!记住是从后往前分的:

11 0000 0001 0010
有不够的就用0补充:

0011 0000 0001 0010
看起来好多了,这就是实际的发送结果,发送时是一位一位的发送的,0是低电平,1是高电平

虽然这个数看起来好多了,但是太长,而且好多相同的数字容易搞混;我们就把它转成16进制,每4位合成16进制表示:
3 0 1 2

3012这样的16进制数看起来就清爽多了
为了像3012这样的数不被误会成是10进制,常常用0x3012这样来表示的,可不要以为0x也是数据就好了

这里粗浅的介绍了下二进制的使用,希望能够对刚接触嵌入式的朋友有些帮助

如果你对嵌入式,单片机感兴趣,我推荐一下“郭天祥十天学会单片机”,这个网上有视频啊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: