c语言,单片机应该怎么学习呢?


单片机是一门很有用的技术 。懂单片机可以找一份很好的研发岗工作 。所谓万事开头难 。在初学入门阶段可能摸不着头脑无从下手 。如果有了比较好的学习方法单片机学习起来也是很有趣、很容易的 。和大家分享一下单片机以及单片机C语言编程的学习方法 。
1.选择一块单片机开发板
不管你是从51单片机开始 。还是直接从STM32、AVR开始 。建议买一块单片机开发板 。切记 。在学习单片机的时候不要和学习高数一样天天抱着书看 。单片机是一门实践性非常强的课程 。如果只看书不动手永远是纸上谈兵 。书都不要看 。直接买一块开发板 。对单片机而言 。最好的书就是单片机的数据手册 。

c语言,单片机应该怎么学习呢?

文章插图
2.学习单片机普通GPIO口的配置方式
不管你选择哪个型号的单片机入门 。其学习方法都是一致的 。首先要学习单片机普通GPIO口的配置方法 。这包括单片机GPIO口的输出控制和输入检测 。比如学习如何用C语言实现单片机点亮LED灯、如何用C语言控制蜂鸣器发声、如何用C语言控制继电器动作、如何用C语言实现按键电灯、按键使蜂鸣器发声、按键使继电器动作等 。
c语言,单片机应该怎么学习呢?

文章插图
3.学习单片机的定时器、AD转换、中断等片上资源
单片机具有丰富的片上资源 。合理的使用这些片上资源可以简化产品的设计使方案最优 。所以学习这些片上资源非常重要 。这些片上资源包括定时器 。可以实现定时功能或计数功能 。该功能非常有用 。单片机的AD转换功能可以将模拟量转化成数字量 。在信号采集方面是非常重要的 。使用单片机的中断资源可以节省单片机的资源 。提高代码执行效率 。
4.学习UART、IIC、SPI、CAN等通讯功能
通讯功能可以实现数据的传输 。如wifi、蓝牙、RS485等都是常用的通讯功能 。所以这一块一定要学习 。现在绝大多数的单片机都带有UART、IIC、SPI甚至CAN通讯功能 。其他一些通讯功能可能都是由这几种通讯功能延时出来的 。比如说UART功能配合不同的电平转换芯片可以实现RS232、RS485、CAN 。甚至蓝牙和wifi通讯等 。
c语言,单片机应该怎么学习呢?

文章插图
5.参与/主导单片机项目
学习的目的是为了以后能够用单片机设计出方案合理、性能稳定的产品 。所以要抓住参与项目的机会 。在项目中锻炼实践动手能力 。

更多精彩内容请关注本头条号:玩转嵌入式 。感谢大家 。
其他观点:
说一说我学单片机和 C 语言的经历 。
我在大一的时候加入实验室 。不懂单片机 。也不懂 C 语言 。全靠自己的兴趣坚持下来的 。
当时学长推荐谭浩强的书 。所以从零开始看 C 语言 。不懂地址的概念、也不懂内存是什么 。虽然书中也举了很多例子进行说明 。但我还是不知道 C 语言到底能干什么 。书中有很多例题 。试着做了一点 。但是因为很多都是算法题 。所以最初的感觉就是 C 语言是用来计算的 。没有炫酷的图形、没有好玩的界面 。有的是只是一个黑框 。用 printf 打印出来的结果 。而这结果感觉就是学习 C 语言唯一的乐趣了 。所以对于 C语言 。一直没有多少好感 。也就没有学习的欲望了 。
直到看到郭天祥的视频 。在视频中看到如何简单的用 C 语言控制一个 LED 灯显示 。看到数码管显示你想要的数字 。用蜂鸣器播放一段音乐 。才真正对 C 语言和单片机感兴趣起来 。而且因为有视频的直观感受 。所以对它们也越来越感兴趣了 。视频中没有太多的理论 。只会对当前需要使用的语法进行解释 。所以学起来不会太累;另外因为学完之后马上就能运用 。能看到现象 。所以印象更深刻 。所以对于 C 语言的理解 。首先应该是简单的了解语法知识 。然后更多的应该是在不停的尝试中去进行深入的思考 。
C 语言其实不难 。难在如何用 C 语言解决你的问题 。难在如何用 C 语言设计算法、数据结构 。所以对编程语言的学习就是通过不同的项目去锻炼自己的编程水平 。当然了 。看别人优秀的项目代码也是提升编程水平的重要途径 。
而对于单片机的学习同样如此 。同样是通过简单的项目慢慢积累经验 。比如流水灯控制 。设计一个闹钟程序等等 。只有从项目中去实践 。才能有更多的收获 。
而对于刚接触 C语言 和单片机的初学者来说 。建议以视频为主、书籍为辅 。这样能更快的建立自己对陌生事物的印象 。达到快速上手的目的 。而有一定经验了之后就可以换另一种方式学习 。毕竟视频学习的效率还是比较慢的 。

推荐阅读