C语言调动硬件的原理是什么?( 二 )


uint32_t p = SCREEN_ADDR;p = RGBA(0xff,0xff,0xff,0xff);
这样的代码来实现对硬件的操作了 。
3 那这个地址怎么拿到呢?什么样的数据才是合法的呢?要解答这些问题,就需要查阅具体设备的spec了 。例如这个一眼看过去就能的明白的例子(一眼没看明白请反复阅读以完全理解上面第二点内容):
我们是用电脑的键盘来输入的指令,每一个指令都对应一个ASCII码,而这里的ASCII码就是有序的电压的高低(或电流的有无,下面只提电压的高低),即我们输入的是电压的高低,你所看到代码是这些电压的高低控制显示器所显示的图像,其实电脑也不知道它是什么,只知道这样显示 。
结论:代码其实就是存储在存储器(内存、硬盘或者闪存等等)中有序的电压的高低 。
再说编译:
编译是一个有序的电压的高低向另一种有序的电压高低的一种转换过程,下面以52单片机为例,我们编译是从表示ASCII码的那种有序电压高低转换为52单片机能够识别的另一种规定好的有序电压高低,即表示HEX文件的电压高低 。
结论:编译出的结果还是电脑中存储的有序电压高低 。
到单片机烧录:
接下俩就是烧录,理解了上面两点就很容易理解下面的内容,烧录就是电脑中的有序电压高低通过数据线传输到单片机中的ROM中 。
接下来ROM就可以释放其中的电压来控制外围的电路 。
总结:从代码的编辑到最后对电路的控制都是电压在起作用,只是为了方面我们而给我们展现的形式不一样而已,而其本质都是电压,这样也就不存在转换 。
理解这句话:世界上没有软件,软件只是对硬件的一种反映,就像意识是对世界的一种反映是一样的!
相信这样就很容易理解了 。
学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以私信回复小编“学习”领取全套免费C/C++学习资料、视频
教程内容包括
1.开发环境搭建
2.C语言教程
3.C++教程
4.数据结构与算法
5..Net全套教程
6.C++Primer教程
7.项目实操

【C语言调动硬件的原理是什么?】


推荐阅读