c语言,单片机应该怎么学习呢?
单片机是一门很有用的技术,懂单片机可以找一份很好的研发岗工作。所谓万事开头难,在初学入门阶段可能摸不着头脑无从下手,如果有了比较好的学习方法单片机学习起来也是很有趣、很容易的。和大家分享一下单片机以及单片机C语言编程的学习方法。
1.选择一块单片机开发板
不管你是从51单片机开始,还是直接从STM32、AVR开始,建议买一块单片机开发板。切记,在学习单片机的时候不要和学习高数一样天天抱着书看,单片机是一门实践性非常强的课程,如果只看书不动手永远是纸上谈兵。书都不要看,直接买一块开发板,对单片机而言,最好的书就是单片机的数据手册。
2.学习单片机普通GPIO口的配置方式
不管你选择哪个型号的单片机入门,其学习方法都是一致的。首先要学习单片机普通GPIO口的配置方法,这包括单片机GPIO口的输出控制和输入检测。比如学习如何用C语言实现单片机点亮LED灯、如何用C语言控制蜂鸣器发声、如何用C语言控制继电器动作、如何用C语言实现按键电灯、按键使蜂鸣器发声、按键使继电器动作等。
3.学习单片机的定时器、AD转换、中断等片上资源
单片机具有丰富的片上资源,合理的使用这些片上资源可以简化产品的设计使方案最优。所以学习这些片上资源非常重要。这些片上资源包括定时器,可以实现定时功能或计数功能,该功能非常有用。单片机的AD转换功能可以将模拟量转化成数字量,在信号采集方面是非常重要的。使用单片机的中断资源可以节省单片机的资源,提高代码执行效率。
4.学习UART、IIC、SPI、CAN等通讯功能
通讯功能可以实现数据的传输,如wifi、蓝牙、RS485等都是常用的通讯功能,所以这一块一定要学习。现在绝大多数的单片机都带有UART、IIC、SPI甚至CAN通讯功能,其他一些通讯功能可能都是由这几种通讯功能延时出来的,比如说UART功能配合不同的电平转换芯片可以实现RS232、RS485、CAN,甚至蓝牙和wifi通讯等。
5.参与/主导单片机项目
学习的目的是为了以后能够用单片机设计出方案合理、性能稳定的产品,所以要抓住参与项目的机会,在项目中锻炼实践动手能力。
以上就是这个问题的回答,感谢留言、评论、转发。
更多精彩内容请关注本头条号:玩转嵌入式。感谢大家。
说一说我学单片机和 C 语言的经历。
我在大一的时候加入实验室,不懂单片机,也不懂 C 语言,全靠自己的兴趣坚持下来的。
当时学长推荐谭浩强的书,所以从零开始看 C 语言,不懂地址的概念、也不懂内存是什么。虽然书中也举了很多例子进行说明,但我还是不知道 C 语言到底能干什么。书中有很多例题,试着做了一点,但是因为很多都是算法题,所以最初的感觉就是 C 语言是用来计算的。没有炫酷的图形、没有好玩的界面,有的是只是一个黑框,用 printf 打印出来的结果,而这结果感觉就是学习 C 语言唯一的乐趣了。所以对于 C语言,一直没有多少好感,也就没有学习的欲望了。
直到看到郭天祥的视频,在视频中看到如何简单的用 C 语言控制一个 LED 灯显示,看到数码管显示你想要的数字,用蜂鸣器播放一段音乐,才真正对 C 语言和单片机感兴趣起来。而且因为有视频的直观感受,所以对它们也越来越感兴趣了。视频中没有太多的理论,只会对当前需要使用的语法进行解释,所以学起来不会太累;另外因为学完之后马上就能运用,能看到现象,所以印象更深刻。所以对于 C 语言的理解,首先应该是简单的了解语法知识,然后更多的应该是在不停的尝试中去进行深入的思考。
C 语言其实不难,难在如何用 C 语言解决你的问题,难在如何用 C 语言设计算法、数据结构,所以对编程语言的学习就是通过不同的项目去锻炼自己的编程水平,当然了,看别人优秀的项目代码也是提升编程水平的重要途径。
而对于单片机的学习同样如此,同样是通过简单的项目慢慢积累经验,比如流水灯控制,设计一个闹钟程序等等,只有从项目中去实践,才能有更多的收获。
而对于刚接触 C语言 和单片机的初学者来说,建议以视频为主、书籍为辅,这样能更快的建立自己对陌生事物的印象,达到快速上手的目的,而有一定经验了之后就可以换另一种方式学习,毕竟视频学习的效率还是比较慢的。
欢迎关注我的头条号:鱼鹰谈单片机,更多干货内容等你来看
买个开发板,对照视频和例程,逐一敲一遍代码,不要复制了事,调试的过程就是你掌握单片机的过程。当然电路的基础,比如数电模电微机原理和c语言的基础都得有。等熟悉了例程后,再自己画pcb,写代码,调试。建议列一个详细的学习计划,把需要的知识点逐个掌握。重要的说三遍动手,动手,动手。入门以后逐步,按键,显示,eeprom,adc,pwm,iic,spi,usb等等,然后慢慢行程自己的编程框架,比如状态机等。再然后ucos,UNIX,gui
C语言怎么样,好学吗?
C语言属于高级语言里面的入门语言,大学里很多专业的一年级课程都会有这门课,属于相关专业的入门课程。
但是,不要认为C语言简单,那就错了,想要学好,也很难,因为知识点多,而且碎;学好C语言,再学其他语言就容易多了,个人建议C和C++一起学,对比着学,更好,不过要努力学,因为难度挺大!
入门不难,随便拿本书看看写写就可以掌握,但是完全掌握,写些什么东西,甚至想开发出自己想要的软件,应用,和程序,那可就非常难,他要的是一种逻辑思维,是一种思想。
总而言之,入门容易精通难,后期要看的代码量很大。
任何一门语言其实没有什么好学不好学。只要用心,都好学,但是更多的人刚接触没几天就放弃了?这是为什么呢?就是因为姿势不对,上来就看大量技巧很多,很复杂的工程代码,容易倍受打击,也不符合人类的人知习惯,一定要从浅入深,由简到难,只有入了门,后边只是时间问题,比如从最基本的打印一个Hello World开始,到基本的类型认识,再到语句,控制结构,循环,分支等,再到结构体,指针,数组,很容易就学会了,当然过程中辅以小的任务或者小的程序能加深理解,后续多加练习,自己尝试实现一些小的功能,比如简单的加减乘除计算器,逐渐深入理解,直至精通!
大学生c语言应该掌握到什么程度?
看你想要什么程度。
第一,了解阶段。知道基本语法和概念。对指针有一定认识和基本都操作。基本到这大部分,大学生就几乎可以了。但是不要以为自己牛逼了哈。这只是巨坑的一点。永无止境的呢。
第二阶段,加强阶段。这是比较难的。做项目了解源代码积累经验不断积累了解如何设计。积累。这是最长的阶段也是最难受最有意思的阶段。
不要停永不停歇。偶尔做几个好玩的奖励自己一下。在不断的失败挫折下一点点滚雪球似得越来越大。永远保持谦虚,因为永远有比你牛逼的人出现,永远保持学习的心大步向前。
如果你想靠着这个发展,毕业后就凭这个找工作,那么越犀利越好。C语言学好了很牛的,工资很高的,属于偏底层的。他还是很多编程语言的基础。你这个学好了,学JAVA什么的都很轻松。但是,这个还是比较难的,比JAVA难。
但是,如果你对这个并不感兴趣,只是为了应付考试的话。其实,也要认真学,这个学好了,真的不错。

