學習階段總結
? ? ? 這幾天思考了很多東西,感覺很有必要總結一下學習的東西了。從起初進步大學到步入社會已經一年有余,在大學感覺學也學了,玩了玩了。所以不存在什么很大的遺憾。之前零零散散的也學了不少東西了,感覺有必要對自己做一個總結了。
? ? ? C語言:從大一下學期就開始學習C語言,只不過上課的時候基本上都不能專心上課。對于C語言的學習主要還是在課下的時候看書看視頻自學的,郝斌老師的C語言視頻算是指導我入門的視頻,那時候看視頻還是很有激情的。譚浩強的《C語言程序設計》算是一本基礎的語法教材,看過也了解了基礎的東西(包括標識符、各種表達式、數組、函數、指針、文件等);后來看了《c語言深度剖析》這本書將的真的是比較好,含金量是真的高;再后來又看了《C和指針》《C陷阱》《C專家》。強烈推薦多看幾遍C語言深度剖析,是真的寫得好。推薦練手項目:《電子詞典》《萬年歷》《xx管理系統(tǒng)》等
? ? 51單片機:說到51單片機,這也算是我學習C語言的一個動力;不會C語言簡直都不能玩單片機,雖然匯編也可以寫,但是C語言的移植性好,所以為了學習單片機惡補過C語言?!妒职咽纸棠銓W單片機》小宋老師講的單片機是很有趣味的,代碼寫的也很有條理;也有很多是看郭天祥的書和視頻入門的。不過我個人還是推薦小宋老師的《手把手教你學單片機》。也買過開發(fā)板,學習(視頻,書),敲過代碼,那時候覺得51單片機好強大。推薦練手項目:《數字鐘》等。
? ? ? STM32:51學了之后深深感覺到控制器的有趣,一個單片機隨便加點外設,就有不錯的功能。當時是野火的《STM32庫開發(fā)指南》帶我入門STM32,詳細講了很多基礎的東西,對初學者絕對的好書。GPIO/Timer/UART/I2C/SPI/SD/TFT/NRF/UCOS等,講的比較詳細。大三上學期算是把這個學了一遍,但是使用起來還是很吃力。不過寫程序的功力不是一天兩天就能練好的,會了基礎的操作為后面的學習可以打下很好的基礎。學習了近半年,算是比較熟悉了,精通算不上,但是庫文件都看過。例程大部分都看過。STM32做信息采集這塊比較強大,溫度濕度光照強大等,配合各種傳感器。推薦練手項目:《倉儲管理系統(tǒng)》客戶端【采集一些基礎信息通過NRF或者CAN傳到服務器】
? ? Linux基礎:大三下學期的時候,偶然一次聽到了嵌入式這個詞,確實以前沒有聽過。后來自己查了許多資料,知道了學習嵌入式還有很多需要學習的東西,從而走向了Linux的道路。想當初第一次裝虛擬機,第一次裝ubuntu,第一次裝cygwin......那時候是真的高興,體會到學習是很有趣的事情。感受到了shell的強大?!而B個私房菜》這本書我只是看了命令的大部分,還有很多目前不能用的我都沒有看。
? ? 數據結構:想到這個就頭疼,一早就知道要活用數據結構不是個容易的事情。還是硬著頭皮學下去,畢竟寫出高質量的代碼是離不開數據結構的。黃國瑜的《數據結構》是我的指導書,雖然里面大部分代碼都是有問題的,但是我看中的是這本書的分析部分,著實精彩。學了鏈表、堆棧、隊列和各種排序。太過高深的樹和圖之類的目前還沒有研究。再多說一句:鏈表、隊列、快讀排序這幾個是比較重要的,但是hash表也是很重要的,最好這幾個著重學一下。
? ? ? Linux C高級編程:學了linux基礎和windows下的C語言,后來想Linux下應該也是可以學習C語言的。后來買了《Linux高級程序設計》第三版的黃皮書和《Linux C一站式編程》。學習了GCC,GDB,Makefile、文件操作、進程管理及通信,線程管理和通信、網絡編程等。推薦練手項目:《web服務器》《Linux C局域網聊天室》等。
? ? ARM:最初接觸ARM是了解完了STM32之后,聽說ARM要運行Linux系統(tǒng),因此才學的Linux。買的是天嵌的開發(fā)板,那時候的資料是真的少,各種淘寶視頻都是幾百上千的,想想作為學生的自己,沒錢的孩子就應該努力奮斗。看了許多的免費視頻,韋東山的,國嵌的,等各種視頻資料,學習了uboot,內核、文件系統(tǒng)和驅動的一些皮毛。不過學習這個事情就是日積月累的。沒有學不好的技術,只有不努力的人。幾年之后你也可以成為研發(fā)的主力軍。Linux做服務器的比較多,一個服務器對應多個小的客戶端。推薦練手:《相冊》--這需要QT的知識(個人覺得學習C++和QT是有好處的)。