找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1486|回复: 3
收起左侧

想再次学习单片机,不知道有什么好的方法和资料?

[复制链接]
ID:1057884 发表于 2022-12-16 13:35 | 显示全部楼层 |阅读模式
本人大学毕业后有2年学单片机,现在10多年没有碰了,都忘,现在想再次学习,不知道有什么好的方法和资料
回复

使用道具 举报

ID:1057859 发表于 2022-12-16 17:53 来自触屏版 | 显示全部楼层
单片机设计需要用到更多的是硬件之间的访问和操作,所以你需要对底层有所了解。既然说到底层,肯定就要理解寄存器如何读写代码,并且编译器如何生成代码帮助寄存器读写。同时你还需要了解如何编写和使用C编译器工具链,还有交叉编译代码,也就是那个很长的arm-linux-gcc。编程的时候看名字都晕了。当然底层语言也需要了解。说到编程语言,首先我觉得应该先拥有对于程序的逻辑。关于如何培养你的程序逻辑,我觉得不如就用男人的浪漫――游戏来举例好了。比如说你想要编写一款游戏,首先你需要做些什么?你肯定需要一个人物,也就是建立对象,然后需要有人物设定,也就是对象赋值。设定好了人物,就需要设定事件了,也就是整个程序的框架。有了人物和事件,接下来就需要动作了,也就是对于对象的操作,这里就需要添加很多逻辑函数。接下来就是对于细节的优化了,因为你的程序本身需要在屏幕上运行,所以你还需要考虑屏幕的刷新率啊,如何去适应屏幕的分辨率让玩家不会产生不适应感。同时你还需要设定边界,让你的人物不至于跑飞了。同时更高端的游戏,还需要你在里面加入“人工智能”,这个就更麻烦了。其实,这就是一个简单程序的逻辑关系,建立对象,设定框架,建立逻辑关系,最后得到结果。关于底层语言肯定绕不过汇编啊。说起汇编的学习都是泪啊,当年寄存器直接记到怀疑人生,只是想说:我是谁,我在哪?但光学汇编肯定是不够的,所以作为汇编的一个补全——C语言肯定是不得不学的。说到C,可以算作所有工科生的入门课程,属于可学可不学的“鸡肋”课程。甚至有的大学直接把C当作选修课程而主修C++。而很多工科生学习C也是因为机房的网速快。但对于嵌入式来说C却显得比较重要,甚至有的公司招聘嵌入式岗位只需要考察员工对C的掌握能力。当然,C肯定说的不是我们所熟悉的那个《C语言基础与编程》。而是必须要了解C语言关于内存分配的功能。我们都知道,嵌入式需要用到的微控制器系统对于内存的要求肯定是越小越好。这同样也是C语言的优势之一,因为C的代码通常不会占用太大的内存。同样由于嵌入式系统内存的重要性,所以学会C语言的内存分配方式也格外重要。关于C语言的学习还有一点就在于指针,因为大家都知道硬件寄存器之间是需要通过指针来访问的。当然关于指针的学习,也有些东西需要注意了。那就是使用指针后将指针的值设为NULL。这样可以避免很多错误的产生,因为方便你定位随后被误用导致的错误所在的位置。接下来提到的问题,可以算作是一个“老司机”的问题,真的是生活不易,司机落泪啊。其实很多新人也很容易犯这种错误。那就是很多人在定义数据类型的时候,总是习惯定义成int型。也就是有符号类型,但实际上,无符号的数据比有符号的多啊,所以unsigned才是最好用的啊。不要因为它太长了就忽略它啊混蛋。当然嵌入式的程序代码,也不是仅仅只能用C的,这里我提到几个嵌入式开发可能用到的语言。python作为C语言产生的一个“衍生品',凭借其对于数据处理和分析的强大能力,自然而然的成为了嵌入式开发的一个很好的选择。如果你觉得还不够,其实RUST也可算作一个不错的选择。但就一般的开发者来说,把C学到最好才是王道啊。这里顺便还想提到另一个东西——LABview。有些人对于代码有一种恐惧感,因为不同的人写出的代码风格也不同。当你想要看懂它,还需要跟上创作者的思维方式。而LABview采用最直观的框图形式,把代码通过对于各种控制器的调用来展示出来,能够更加利于其他人的理解。特别是对于项目的规划,能产生很好的效果。当然这只是根据比较小的微控制器来说的。当面对大型的嵌入式系统来说,通过c语言写出的代码来控制(也就是所谓的“裸板”指令)根本是不可能的。
回复

使用道具 举报

ID:1044091 发表于 2022-12-17 19:44 | 显示全部楼层
学习单片机,只要4步:

1、(最基本的)上某一个宝买一套51开发板,几十元吧,不用加复杂的外设,基本款就行了。商家应该还能送一些电子资料和基本软件。海鲜市场二手板如果有资料也可以考虑,但也就能省2、30元吧,推荐买新板。开发板一定要有PDF资料!影印版不好查找。

2、(强烈建议)买一本二手《C程序设计》,推荐清华大学谭浩强的,纸质的查阅方便。这本书主要是讲算法设计,当你跟着教程学了一段时间后,可能就要面对算法的问题了。10元左右。

3、(可选项,买不买都行)买一本二手《单片机C程序设计》之类的书,能跟前面开发板配套更好,不配套也没关系,主要是用来参考,反正单片机C程序教程都差不多。我买的是郭天祥的,10元左右;

4、百度找到STC的官网,有很多资料可以下载。(最重要的)有问题可以上51黑提问。

现在你就可以愉快地学习了!以上可能花费并不多,但是,要想学有所成,将占用你大量的时间,请做好心理准备。
回复

使用道具 举报

ID:401564 发表于 2022-12-18 17:07 | 显示全部楼层
同意二楼的说法
但,书的话,我觉得"C语言程序设计:现代方法(第2版)"这本更好,刘强东家的正版是102块,二手的也就20来块
这本书的内容更多,也更深入
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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