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