超级简单的单片机光速入门之——必读的前言

一、这个系列要干嘛

        总所周知,搞单片机的永远需要学习。
        不管你是在校学生还是企业工程师,总会因为各种各样的问题(例如学校要求,产品成本需求,甲方需求等)需要换到新的mcu平台,多的不说了,都是泪。
        在网络高速发达的今天,网上各大教程满天飞,不过很多时候我们找到的资料未必是我们想要的资料。要么有所残缺,导致我们往往卡在某一步非常小但是又很关键的步骤中。而我们接触新平台的时候最重要的是快速完成“hello world”的同时,对整个平台有大致的了解。很多视频和文章虽然教你快速点灯,但是往往只是知其然不知其所以然,想要大概了解,也不知道该继续看多少集的视频,我就想知道为什么这么用而已,隔那罗里吧嗦半天,快进都救不了。
        在更换新平台的时候,最麻烦的事情就是需要找到一系列的代码SDK,编辑、编译工具、下载调试工具等,我在之后的每一单独分支中尽量都做到能让一个小白读完文章就会用相关的编程点个灯。
        本系列文章旨在力图用最通俗易懂的办法来让读者又快又好地理解各种单片机的入门使用,不管你是企业工程师,在校大学生,还是只是单纯想要了解单片机应用相关知识,应该都能有用(如果你是工程师,你现在就可以跳到后面看对应芯片的介绍了谢谢)。


二、单片机是啥

        不整那些虚头巴脑的,单片机说白了,就是一个芯片,你可以在电脑上写完程序,把程序下载到芯片里,然后上电后芯片就能按照你刚刚下载的程序执行,芯片有很多外围的引脚,它通过这些引脚的电平和外围电路交互(点个灯,收发个信息之类的,有些高级点的芯片内部还集成了WiFi或者蓝牙功能,同样需要你刚刚下载的程序来控制这些功能)。

        所以,单片机编程的时候是在电脑上进行,程序运行的时候是在单片机自己内部运行,跟电脑没关系。

        像不像是你写好了一个程序,然后发给你朋友来用?

        没错,单片机本质上也是一台电脑,不过是一台性能很弱的电脑,单片机内部就有cpu,内存(叫ram),硬盘(叫flash),单片机跑程序的时候,就从flash里读出程序,运行过程中产生的中间数据通过ram来暂时存储。不过单片机一旦开机,通常就是永远在跑下载好在flash里面的程序。

        人比人得死,货比货得扔,单片机之间也是一样,大家比一比就有高低之分,低级的mcu(也就是一般来说的单片机)运算速度慢,容易坏,内部功能少;高级的速度快,内部功能多。就像GTX750和RTX4090一样。大家都知道后者牛逼吧。不过在单片机领域里,性能不是最重要的,性能越强的芯片成本就越高,所以综合性能和价格选择合适的芯片是重要的。一般来说我们怎么选择呢?一般来说我们没得选择,公司说用什么我们就用什么。

        你可能听说过8位,16位,32位单片机,这里的x位表示的是单片机的cpu一次能处理的数据量,就像高速公路车道数一样,32车道可以同时跑32辆车,8车道只能同时跑8辆,运输能力差了不是一丁半点。而不同的单片机cpu主频相当于车道上的车速有多快,所以主频一样的两款芯片,如果位数不一样,那处理数据的能力依然差得远,可能不是非常准确,但是大概就这么个意思。

        好,现在公司已经决定了,使用某款单片机进行开发,那你需要干嘛呢?

        1、学会单片机C语言

        2、继续看下去

        


三、常见单片机的共同特性

        单片机除了控制外部那一圈引脚,芯片的内部也有很多功能(USB,ADC,IIC,UART,等等),但是软件程序能够控制这些所有功能的本质,都是因为这些功能通过一种方式和单片机内部联系了起来。

       

        那是怎么联系的呢,这个过程是:

        代码操作内存(RAM),内存映射到寄存器,寄存器的数据直接关联硬件(这里的硬件就是刚刚说的各种内部功能和单片机外面那些引脚)。

        所以我们写代码点亮LED灯本质上是间接操作寄存器来控制外面引脚的电平,至于内存到寄存器再到硬件之间的连接是单片机的设计制造商预先定义好的,我们只需要拿到这个定义手册就可以知道哪些寄存器挂载在哪些内存地址上,这样一来就能精确控制整个芯片了。

        但是这样做,这些寄存器对应的内地址什么的非常不直观,所以厂家为了方便我们,预先帮我们定义好了相关地址的名称,这样我们使用的时候就非常方便。不仅如此,还预先帮我们写好了一些常用的函数相关的代码,减少我们的重复劳动,这些东西我们称之为一套SDK。

        这样一来我们就了解了,其实单片机编程本质上就是变成花样地来读写这些寄存器对应的内存地址,来间接控制整个单片机的行为,再搭配上外围的电路,来实现整个产品的功能。套路大致上都是这样。

        后面的具体文章会介绍不同厂商平台的单片机怎么快速上手。

        

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值