小伙伴们好,我是兔子。是一名嵌入式工程师。
我还在校园的情况下,依次通过自学过51, ** R,msp430及其STM32F103系列产品。
工作中后,又使用过PIC及其TI的蓝牙芯片CC2 ** 0R2F以及stm32F4系列产品。
我觉得以在学习上历经,带大伙儿少走坑,不茫然的学习培训单片机。
1.初见单片机兔子我第一次掌握单片机的情况下,是在大二上学期的一门选修课程上。
出自于对技术性的兴趣爱好,选修课的是自动化技术的选修课程。
也恰好是这门课的任课教师,在一次课上解读到单片机。那时候也是听不明白,听的糊里糊涂的。选修课程完毕后,教师向全部同学们展示了一个机遇,可以报考进到试验室选拨,从而可以参与全国各地机器人比赛。
因此我便报名。
2.外部推动力刚进试验室,教师丢帮我2个挑选。
一个是重型坦克,仅有电动机。重型坦克是要能上下左右会动,用单片机操纵。
另一个是超声波传感器。也应用单片机实际操作,数码显示管表明测的间距。
要我挑选一个,还可以挑选电源电路一部分,还可以挑选程序一部分。1个月后交给他著作。即使得到比赛门票费。可以一个人做,还可以和别的同学一起。
那时候原本想选程序的,在网上找了一些实例教程。不清楚如何入门。之后眼见時间不足了,就只有挑选电源电路。从在某宝平台上找了一个商家,买了他的超音波模块,把电子器件都依照商家给予的工程图纸一个一个电焊焊接在洞洞板上。期内恰好又和一个同学们相互配合,他学程序迅速,就要他找人给超音波写了51单片机的程序。
兔子的第一个著作 正脸兔子的第一个著作 背面这期内,大家老师不给予一切服务支持,只给予场所和一些集成ic。因为時间紧急,逼着任何东西都不容易的我要去玩命的找方式。除开授课,几乎每天都窝在试验室里焊板卡。
也就这1个月的時间,兔子我简易的电路原理图看得懂了,也了解不容易的物品除开问同学们,还必须在网上搜集资料。
学好用电烙铁,及其锡接布线。
也随意与我一起相互配合的同学们问了一下,告知我能看郭天祥的“10天学好单片机”的视频新手入门。要我的单片机的学习培训拥有方位。
总结:
1)硬件配置电路原理图必须大概看得懂,掌握怎么接线。
2)学好在网上搜集资料。
3)学好运动电烙铁,最少直插的电子器件可以焊一焊。(纯硬件开发,可以不强求)。
4)单片机新手入门,郭天祥的”10天学好单片机”视频及其配套设施书本。
3.单片机的新手入门之行在网络上,检索到了郭天祥的视频后,与此同时在在某宝平台上买了一款51单片机开发板。(不买郭天祥视频配套设施的主控板,视频详细介绍的是方式,无非便是依据主控板调节外接设备相匹配的端口)。
就每日边看视频,边实际操作51单片机开发板。
从上灯逐渐,串口通信、计时器、外终断。这种和MCU有关的实际操作。
到后来的操纵数码显示管,lcd1602,lcd128 ** ,时钟电路DS1302,伺服电机及其温度感应器DS18B20。
Ps:在其中时钟电路DS1302 ** 作不成功。看到的数据信息一直有什么问题。直到后面我调msp430,第一次应用到烧录器时,我才晓得我以前的问题出在哪儿。
总结:
1)找招数,一切一款新MCU,IO口操纵、串口通信、计时器、外终断是需要优先选择学习培训。
会了这种,通常就对这个MCU而言,可以逐渐写运用了。
2)有程序调试或烧录器,会节约许多调节時间。要是没有,还可以用串口通信,在至关重要的程序处导出相匹配数据信息。根据串口助手,可以便捷的了解程序运作到哪一步了,关心的自变量导出的有哪些值等,做到调节的目地。
4.以后的路我将买的51单片机开发板玩了个遍后,逐渐想找一找,不一样MCU中间的开发设计差别。那时候大家试验室的朋友都立即上stm32f103。我当初也在许多人的唆使下,自身焊了一块stm32f103的最小系统板。用的函数库,那时候感觉太难了,点个灯,费了大半天劲都没点取得成功。之后才知道是相匹配的IO口钟表没配备。和51对比,有很多钟表必须配备,配置有什么问题就造成没法应用。
之后提前准备或是慢慢的来,就先上 ** R的ATMega16,及其msp430f149。
兔子的stm32f103最小系统板这期内,也学会了电焊焊接QFN集成ic。图中stm32f103集成ic便是我自身在网上找视频学着电焊焊接的。
自身用 ** R的ATMega16做的温度测量系统软件。
兔子的根据 ** R ATMega16温度测量系统软件msp430f149做的循迹小轿车,那时候参与的TI杯电子设计大赛校园内选拨。
毕业设计论文
stm32f103制做的自动洗衣机控制器。
木板自身画的,元器件手工制作焊的,程序自身写的。显示器干了2级菜单栏。
总结:
1)假如感觉stm32有难度系数,可以由浅入深,渐渐地了解,从别的的MCU渐渐地衔接。兔子我感觉我了解慢一点,我同学们知道的快,51学好立即上的stm32,也没有什么问题。
2)重视累积,C语言有很多高級使用方法不太熟,也是渐渐地学的,看单片机开发板给予的Demo程序,还可以参考写的好的语句。
3)推动程序可扩展性, ** R,stm32的推动。有一些全是我以前51上读过的,再再次写一遍也没必要。可以多界定一些宏定义,便捷在不一样的MCU上移殖。可以也试着一下程序移殖的觉得。
5.工作中以后兔子我教MCU一方面是喜好,另一方面也是找个工作必须。
做到以上工作能力,通常大学毕业找个工作会很容易,自然,院校的优劣也是一个必备品。
程序必须运用计时器和外终断等資源,有效资源分配来解决多感应器及测算等。以防危害MCU的实用性。这样的事情通常找一个MCU硬件开发工作中,可以担任一些单独的好项目。
现阶段兔子我运行了5年了,在工作上也应用过RTOS及其uCOS嵌入式操作系统开发设计过商品。通常做内嵌式推动的限制便是把这类系统软件用好。
内嵌式也是有优化算法方位。
兔子我现在提前准备进军内嵌式Linux。向喜好及薪水砥砺前行。
-------2020年2月22日---------
兔子我已经取得成功在企业内部人员换岗Linux驱动开发。
早期看的是韦东山教师的视频,用的也是jz2440。后边感觉2440有点儿老,有感兴趣的朋友可以去看一下韦东山教师出的新单片机开发板和新视频,新视频绝大多数是完全免费的,并且也跟的上现阶段企业上Linux开发设计的节奏感。
兔子我就是以jz2440->周立功的i.mx287->firefly系列产品的rk3288,rk3308单片机开发板。渐渐地一步一步走过来。周立功的i.mx287我都尤其写了知乎专栏。假如新手入门做一些内嵌式Linux运用可以留意一下我的栏目。
从51单片机到Linux