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