打印
[新唐博主]

想从事单片机工作,C语言要达到什么水平?

[复制链接]
321|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

今天我来聊聊从事单片机开发工作,C语言要达到什么样的水平。


我用自己从入门到找到工作的经历来说或许更贴切点。


我是2011年毕业,非本专业,读的是电气工程,看到师兄那苦逼样决定转行。


实习期比较自由,我就开始自学,从入门到转行成功,前后花了4个月左右。


刚开始,我也很焦虑….


自己能不能学得会?学到什么程度能去找工作?


万一花了几个月时间学习,找不到工作怎么办?


过程虽然很曲折,不过最终还是转行成功了,还记录当时学习的一些笔记。

只要你肯坚持下去,有兵来将挡,水来土掩的魄力,结果都不会太差。


最怕就是你碰到问题就退缩,就质疑,这样还不如别开始。


我是从51单片机开始学习的,在某宝上买了一块51单片机开发板。


开发板一般都有配套视频教程,跟着教程一步步走就可以。


我是基础电路、C语言、51单片机一起学得,一边学一边在开发板上看功能效果。


技术学习过程太枯燥了,如果得不到及时的成果反馈,很难坚持下去。


我建议大家也一定要这样去学习。


学完开发板的所有内容,每天坚持学几个小时,大概需要1个多月的时间。


这个时候你会碰到一个瓶颈期,就是单片机每个外设资源都会用了,但是还是无法独立完成一个项目的代码。


这是正常的,因为开发板的定位是让你学习单片机这个工具怎么用而已。


那个时候我只是把开发板都学完了,然后在开发板上做了电子时钟的功能就去找工作了。


前前后后差不多给20家公司拒绝过,那年找工作都是到人才市场,当场面试的。


他们主要拒绝我的还是没有项目经验,其次就是学历、非本专业。


后面,我又在某宝上买了智能小车的套件,自己组装把这个项目重头到位做了一遍。


明显感觉自己的能力提升了,比如说实现功能的思路,和编程水平。


最重要的是多了一个可以吹的项目。


后面再去面试,总共面试了5家公司都不到就成功了。


但是我的经历放在现在,可能比较难。


主要现在优秀的学生太多了,我们无际单片机编程挺多学员都是大学生,最小的大一都有。


大一就有学习的意识,如果你的知识水平还保留10年前的,肯定不行。


单片机开发这个职位,不是说非要你c语言达到一个高级的水平,一般你能修改别人的代码也可以。


刚进去公司也不会让你马上研发新项目,而是维护老项目,改改代码升级功能。


所以,我认为啊,你c语言水平能达到改别人代码水平,暂时也就够了。


主要还是要多做项目,做它3-5个项目,把单片机常用的外设都能应用到实际场景了,一般的产品你也能独立做出来了。


光靠书本和教程的内容,你c语言的水平想提升到高级是很难的。


我是怎么提升的?


从工作中,多看老工程师写的代码,多看一些权威的固件库、协议栈。


前期先模仿他们的写法,比如说他们的按键检测功能怎么写,LCD菜单怎么写。


模仿的时候,思考一下他们这样写有什么优势,有什么不好的地方?


从实际项目中来,到实际项目中去,反复实践。


慢慢地,你对编程的思维和经验都会有一个质的飞越。


我也是这样过来的,自己在19年还录制了一个程序架构的视频,算是对自己的一个总结。


这个架构可以直接移植到产品使用,继承了很多常用的功能,比如说任务管理,队列、LED特效、按键检测。

目前也是开源,找无际单片机编程拿就行,全网同名的。


到某个阶段,你或许就能感悟,任何编程语言都是工具而已。


最核心的还是去实现某种功能的思维是否最优。


使用特权

评论回复
沙发
两只袜子| | 2023-6-20 15:21 | 只看该作者
你c语言水平能达到改别人代码水平,嗯,有了这点确实够用

使用特权

评论回复
板凳
两只袜子| | 2023-6-20 15:21 | 只看该作者
你c语言水平能达到改别人代码水平,嗯,有了这点确实够用

使用特权

评论回复
地板
hudi008| | 2023-7-8 18:08 | 只看该作者
熟悉C语言的基本语法和常用的数据类型、运算符、流程控制语句等。能够编写简单的C程序,包括变量定义、函数定义、数组操作等。

使用特权

评论回复
5
1988020566| | 2023-7-8 18:31 | 只看该作者
应该熟悉C语言的基本语法、数据类型、运算符、控制结构(如条件语句和循环)、函数和指针等基本概念。

使用特权

评论回复
6
wangdezhi| | 2023-7-9 10:40 | 只看该作者
可以进一步学习优化技巧、低功耗设计、通信协议(如UART、SPI、I2C等)以及实时操作系统(RTOS)等相关知识,以提高你在单片机开发方面的能力。

使用特权

评论回复
7
plsbackup| | 2023-7-9 14:10 | 只看该作者
掌握指针的基本概念和用法,包括指针的声明、取址、解引用和指针运算等。了解动态内存分配的函数(如malloc()和free()),能够进行内存的动态分配和释放。

使用特权

评论回复
8
51xlf| | 2023-7-9 15:38 | 只看该作者
还需要学习和了解特定单片机的开发环境和相关的硬件知识。

使用特权

评论回复
9
1988020566| | 2023-7-10 14:08 | 只看该作者
如果说程度要求的话,再高都不为过。

使用特权

评论回复
10
geraldbetty| | 2023-7-10 15:01 | 只看该作者
熟练掌握C语言的基本语法和程序结构,包括变量、数据类型、运算符、控制语句、函数等。

使用特权

评论回复
11
modesty3jonah| | 2023-7-10 15:54 | 只看该作者
要从事单片机工作并使用C语言进行开发,需要掌握C语言的基本语法和编程能力

使用特权

评论回复
12
linfelix| | 2023-7-10 16:50 | 只看该作者
能够编写简单的程序,能够用C语言实现一些基本的算法和数据结构

使用特权

评论回复
13
kmzuaz| | 2023-7-10 17:45 | 只看该作者
能够使用C语言编写单片机程序,包括程序框架的搭建、中断处理、定时器应用、串口通信等功能。

使用特权

评论回复
14
mickit| | 2023-7-10 20:09 | 只看该作者
用c语言对单片机编程,对c语言的程度要求不高。

使用特权

评论回复
15
youtome| | 2023-7-10 21:32 | 只看该作者
了解嵌入式系统的基本概念和特点,包括处理器架构、外设接口、中断处理、时钟管理等。熟悉单片机的基本原理和寄存器编程,能够读写单片机的寄存器和控制外设。

使用特权

评论回复
16
vivilyly| | 2023-7-10 22:34 | 只看该作者
要从事单片机工作,需要具备一定的C语言基础和单片机开发技能,同时需要不断学习和实践,逐步提高自己的能力水平。

使用特权

评论回复
17
Bowclad| | 2023-7-11 23:29 | 只看该作者
把单片机常用的外设都能用起来就行了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1097

主题

4683

帖子

11

粉丝