C語言是程序設計的基石,也是程序員入行的敲門磚。市面上的編程語言五花八門:C語言、C++、JAVA…但是我要說,工程師朋友們掌握的編程語言不在于種類多,而在于精雕細琢、深入領會,抓住編程語言的精髓,就能達到”萬變不離其宗“的境界。
不管是工作多年的編程大牛,還是剛參加工作的菜鳥,在程序設計中一定遇到過或者將會遇到兩大困惑:如何提高MCU程序執(zhí)行效率?如何增強代碼的可維護性和復用性?作為多年的“程序員老鳥”,駱駝深刻理解工程師們的“痛苦”,因此錄制了本系列課程,以“LED流水燈程序設計”為引線,逐步進行擴展,詳細介紹“程序=函數(shù)+數(shù)據(jù)結(jié)構(gòu)”設計方法,手把手帶工程師門學習C語言編程。
講師介紹:
駱駝,從事過多種職業(yè),在而立之年停留在工程師的職業(yè)上。逝者如斯,不舍晝夜,彈指間十年已過。即使資質(zhì)平庸,只要專注一隅,總會有所收獲。我非常高興與朋友、同事分享編程心得。我們花費數(shù)年沉淀,豁然開朗的感悟只是印證了前輩先賢總結(jié)的普遍真理,實在令人感慨萬千。真理之所以是真理,其實在于我們領悟。沒有領悟之前只是書中的一行字。領悟之后才能成為解決問題的方法。遇見真理容易,認識真理難。
作者寄語:
網(wǎng)絡發(fā)展為媒體傳播提供了非常便捷的途徑,奇文共欣賞,疑義相與析。我非常高興能在網(wǎng)絡分享我對編程淺薄見解,讓我們共同進步。
課程優(yōu)勢:
-
易行:基礎代碼非常簡單,稍微了解C語言編程即可共同學習。
-
擴展:以最簡單的流水燈實現(xiàn)為基礎,逐步擴展介紹定時器在過程程序設計中的主要應用。指針、結(jié)構(gòu)體、狀態(tài)機等C語言知識點應用。逐步設計出可維護性、復用性強、效率高的代碼。
-
鍛煉意識:程序設計對專業(yè)程序員來說是一種意識行為。視頻錄制過程也是代碼編寫過程,和大家一起探討過程也是我將的思路介紹給大家的過程,希望大家一起鍛煉編程思路,培養(yǎng)正確的編程意識。
涉及的應用領域:
C語言單片機編程
學習效果:
理解、掌握C語言“程序=數(shù)據(jù)+函數(shù)”設計方法,培養(yǎng)工程師的程序設計思路,養(yǎng)成正確、合理的編程習慣
學習本課需要什么背景,需要提前預習掌握的知識技能?
-
了解C語言
-
了解LED簡單使用
-
了解定時器
-
了解MCU程序設計
課程面向?qū)ο螅?/strong>
計算機相關(guān)專業(yè)的在校學習學生、工作初期的電子工程師
課程目錄:
01課程總體介紹
-
學習目標介紹、學習對象、預備知識、使用硬件介紹
02課程總體介紹
-
IO介紹;
-
一切系統(tǒng)都是輸入、處理、輸出的介紹;
-
以簡單風機控制系統(tǒng)介紹輸入、處理、輸出的原理;
-
LED介紹;
03流水燈初步實現(xiàn)
-
單個LED控制;
-
使用for 循環(huán)語句產(chǎn)生延遲,實現(xiàn)流水燈
04變量自增實現(xiàn)流水燈
-
使用for 循環(huán)語句產(chǎn)生延遲,實現(xiàn)流水燈程序缺點;
-
使用變量自增實現(xiàn)流水燈;
05流水燈初步實現(xiàn)
-
使用變量自增實現(xiàn)流水燈程序缺點;
-
定時器引用實現(xiàn)流水燈程序;
06音樂盒流水燈初步實現(xiàn)
-
以音樂盒為例,程序與數(shù)據(jù)緊密結(jié)合流水燈程序設計。修改流水過程,必須修改函數(shù)和數(shù)據(jù)。
07CD機流水燈初步實現(xiàn)
-
以CD機為例,程序與數(shù)據(jù)分離流水燈程序設計。程序設計更加靈活方便,修改流水過程,只需修改數(shù)據(jù)。
08使用LED輸出字符編碼
09使用LED輸出摩斯碼
-
一顆LED輸出SOS。
-
一顆LED輸出任意摩斯碼信息。
-
數(shù)據(jù)與播放器完全分離,實現(xiàn)輸出任意摩斯碼信息。
10同時輸出更多信息
-
使用多個LED同時輸出多個摩斯碼。使用標準播放器,分時輸出多條信息。
-
使用戶將注意精力用于數(shù)據(jù)編碼設計,不在關(guān)心播放器。充分體現(xiàn)“程序=數(shù)據(jù)+函數(shù)”設計方法。
工具軟件:
Keil uVision5、j-linkV9、一款有LED的STM32F103電路板
常見問題如下:
Q1:零基礎可以學習這個課程么?
A:零基礎當然不行,至少應該接觸過C語言,至少在任何一款單片機上編寫調(diào)試過100行代碼,這個非常容易做到。
Q2:本課程是一個什么樣的課程?
A:?培養(yǎng)單片機編程意識,鍛煉正確的編程思路。
Q3:學習本課程的軟件版本要求?
A:? WindowXP以上操作系統(tǒng),Keil uVision5
Q4:課程是否有資料素材提供?
A:幻燈片可以分享,代碼因為非常簡單,如果有興趣可以跟隨視頻同步動手編寫,在學習初期編寫代碼是學習不可或缺的重要步驟,我懇切要求大家多多動手,所以暫時不提供。
Q5:本課程總共學習時間?
A:每次15~40分鐘,估計應該200以上分鐘,這個實在不容易估計。因為雖然我認真編寫了課件、腳本,但是在錄制過程中我總會臨時改變,10次是最保守的估計。