本篇文章友人在廣東喝咖啡的時候突然想到的...最近就有想寫幾篇關(guān)于單片機輸出的博客,所以回家到之后就奮筆疾書的寫出來發(fā)表了
如同學(xué)習(xí)每一門編程語言的Hello World!一樣,點燈自然成了單片機入門的HelloWorld。因為單片機上的HelloWorld實在是太難了!
在電子上只有電壓電流之類的概念,而對于單片機來說,我們可以認(rèn)為0代表低電壓(低電平、接地),1代表高電壓(高電平)。在我們學(xué)習(xí)的STM32單片機上,高電平其實就是3.3伏!今天我們要點亮的小燈,就是發(fā)光二極管,讓3.3V和0V分離接在發(fā)光二極管的正負(fù)(是非)兩端,就能夠讓其發(fā)光!
我們采取的單片機有很多針腳(ZET6是144腳,VET6是100腳),一般是PA0~PA15,PB0~PB15這樣子命名。理論上,我們可以把任何一個腳設(shè)為高電平或者低電平,通過單片機程序。
那么,接線上就有兩種了:一是二極管一頭接一個針腳Pin,另一頭接地GND腳,然后控制Pin高電平,就能夠點亮;而是接兩個針腳,控制讓正腳(長)輸出高電平,負(fù)腳(短)輸出低電平,也可以點亮。
如果用C寫這個控制程序,會有點小龐雜,因為你需要先設(shè)置針腳的工作模式,上拉下拉什么的,然后才可以通過01控制高低電平。我們做C#開辟的同學(xué),絕大多數(shù)不懂這些。MF在這方面封裝得很好,針對指定針腳實例化一個輸出端口OutputPort,并指定初始狀態(tài)true/false,然后就能夠讀寫布爾值了。當(dāng)然,這個輸出端口也可以指定上拉下拉那種模式,但是如果我們不懂,就不用那個構(gòu)造函數(shù)啦。
一般的開辟板上都配有LED,就不需要我們自己去接LED啦!如果想做跑馬燈什么的,可以自己去淘寶上買,一毛錢一個,10塊錢可以買一百個了,不過記得買杜邦線,哈哈!
我們來看代碼:
//紅牛二
//varpins=newCpu.Pin[]{Pins.PF6,Pins.PF7,Pins.PF8,Pins.PF9,Pins.PF10};
//阿波羅一號
//varpins=newCpu.Pin[]{Pins.PE11,Pins.PE12,Pins.PE13,Pins.PE14,Pins.PE15};
//探索者一號
//varpins=newCpu.Pin[]{Pins.PB11};
//探索者二號
//varpins=newCpu.Pin[]{Pins.PC6,Pins.PC7};
//雅典娜二號
varpins=newCpu.Pin[]{Pins.PF8,Pins.PF9};
//雅典娜三號
//varpins=newCpu.Pin[]{Pins.PF8,Pins.PF9};
varleds=newOutputPort[pins.Length];
for(inti=0;i { leds[i]=newOutputPort(pins[i],i%2==0); } //varled4=newLed4(); for(inti=0;i<20000;i++) { for(intj=0;j { leds[j].Write(!leds[j].Read()); } //led4.Display(i); //led4.Value=i; Thread.Sleep(50); } 每日一道理 這個程序很簡單,首先是實例化一個小燈所在的針腳數(shù)組,然后再創(chuàng)立輸出端口數(shù)組,創(chuàng)立的時候,隔個的設(shè)置不同的初始化狀態(tài),形成小燈分開來亮的效果。 每一次大循環(huán),都包含一次小循環(huán),而小循環(huán)所做的,就是讀出來針腳現(xiàn)在的值,取反后寫入。大循環(huán)需要暫停一會,要不太快了也看不清楚呀,呵呵! 然后,小燈就閃動起來了! 到這里,或許很多人會問,點亮小燈,頂多只能做跑馬燈之類的玩具而已。其實這個跟用C語言電燈一樣,我們只需要稍稍轉(zhuǎn)變,針腳出來接的不是小燈,而是一個繼電器,那么就能夠控制220v的強電了啦!剩下的就看自己要做什么了! 本文可能非常簡單,但作為單片機的MF入門來說,并非每個人都可以做得到! MF是微軟的開源嵌入式系統(tǒng)框架,經(jīng)過了很多年的發(fā)明,在海內(nèi)始終很冷淡,可能是因為開辟板極為昂貴并且移植困難吧!我們新生命團隊經(jīng)過不懈努力,總算找到了絕對比擬便宜的MF開辟板(淘寶200元閣下),還有可以跑MF的核心板(淘寶最低售價只需要46元);并且我們把握了一些基本的移植技巧,可以把 MF移植到比擬熱門和高性價比的多款板子上去。我們歡送更多志趣相投的友人一起來研討MF! .Net Micro Framework,讓我們盡可能的在不懂單片機的情況下做一些簡單的單片機控制系統(tǒng)! End 我不相信神話,我只相信汗水!我不相信命運,我只相信雙手! 文章結(jié)束給大家分享下程序員的一些笑話語錄: IT業(yè)眾生相
正所謂“學(xué)海無涯”。我們正像一群群魚兒在茫茫的知識之海中跳躍、 嬉戲,在知識之海中出生、成長、生活。我們離不開這維持生活的“海水”,如果跳出這個“海洋”,到“陸地”上去生活,我們就會被無情的“太陽”曬死。
第一級:神人,天資過人而又是技術(shù)狂熱者同時還擁有過人的商業(yè)頭腦,高瞻遠矚,技術(shù)過人,大器也。如丁磊,求伯君。
第二級:高人,有天賦,技術(shù)過人但沒有過人的商業(yè)頭腦,通常此類人不是頂尖黑客就是技術(shù)總監(jiān)之流。
第三級:牛人,技術(shù)精湛,熟悉行業(yè)知識,敢于創(chuàng)新,有自己的公司和軟件產(chǎn)品。
第四級:工頭,技術(shù)精湛,有領(lǐng)導(dǎo)團隊的能力,此類人大公司項目經(jīng)理居多。
第五級:技術(shù)工人,技術(shù)精湛,熟悉行業(yè)知識但領(lǐng)導(dǎo)能力欠加,此類人大多為系分人員或資深程序員,基本上桀驁不遜,自視清高,不愿于一般技術(shù)人員為伍,在論壇上基本以高手面目出現(xiàn)。
第六級:熟練工人,技術(shù)有廣度無深度,喜歡鉆研但淺嘗輒止。此類人大多為老程序員,其中一部分喜歡利用工具去查找網(wǎng)上有漏洞的服務(wù)器,干點壞事以獲取成績感。如果心情好,在論壇上他們會回答菜鳥的大部分問題。此級別為軟件業(yè)苦力的重要組成部分。
第七級:工人,某些技術(shù)較熟練但缺乏深度和廣度,此類人大多為程序員級別,經(jīng)常在論壇上提問偶爾也回答菜鳥的問題。為軟件產(chǎn)業(yè)苦力的主要組成部分。
第八級:菜鳥,入門時間不長,在論壇上會反復(fù)提問很初級的問題,有一種唐僧的精神。雖然招人煩但基本很可愛。只要認(rèn)真鉆研,一兩年后就能升級到上一層。
第九級:大忽悠,利用中國教育的弊病,頂著一頂高學(xué)歷的帽子,在小公司里混個軟件部經(jīng)理,設(shè)計不行,代碼不行,只會胡亂支配下屬,拍領(lǐng)導(dǎo)馬屁,在領(lǐng)導(dǎo)面前胡吹海侃,把自己打扮成技術(shù)高手的模樣。把勾心斗角的辦公室文化引入技術(shù)部門,實在齷齪!
第十級:驢或傻X,會寫SELECT語句就說自己精通ORALCE,連寄存器有幾種都不知道就說自己懂匯編,建議全部送到日本當(dāng)IT產(chǎn)業(yè)工人,掙了日本人的錢還嚴(yán)重打擊日本的軟件業(yè)!