MF幹活 C 點燈神話

2021-09-06 05:58:34 字數 1896 閱讀 3363

如同學習每一門程式語言的hello world!一樣,點燈自然成了微控制器入門的helloworld。因為微控制器上的helloworld實在是太難了!

在電子上只有電壓電流之類的概念,而對於微控制器來說,我們可以認為0代表低電壓(低電平、接地),1代表高電壓(高電平)。在我們學習的stm32微控制器上,高電平其實就是3.3伏!今天我們要點亮的小燈,就是發光二極體,讓3.3v和0v分別接在發光二極體的正負(長短)兩端,就可以讓其發光!

我們採用的微控制器有很多針腳(zet6是144腳,vet6是100腳),一般是pa0~pa15,pb0~pb15這樣子命名。理論上,我們可以把任何乙個腳設為高電平或者低電平,通過微控制器程式。

那麼,接線上就有兩種了:一是二極體一頭接乙個針腳pin,另一頭接地gnd腳,然後控制pin高電平,就可以點亮;而是接兩個針腳,控制讓正腳(長)輸出高電平,負腳(短)輸出低電平,也可以點亮。

如果用c寫這個控制程式,會有點小複雜,因為你需要先設定針腳的工作模式,上拉下拉什麼的,然後才可以通過01控制高低電平。我們做c#開發的同學,絕大多數不懂這些。mf在這方面封裝得很好,針對指定針腳例項化乙個輸出埠outputport,並指定初始狀態true/false,然後就可以讀寫布林值了。當然,這個輸出埠也可以指定上拉下拉那種模式,但是如果我們不懂,就不用那個建構函式啦。

一般的開發板上都配有led,就不需要我們自己去接led啦!如果想做跑馬燈什麼的,可以自己去**上買,一毛錢乙個,10塊錢可以買一百個了,不過記得買杜邦線,哈哈!

我們來看**:

// 紅牛二

//var pins = new cpu.pin ;

// 阿波羅一號

//var pins = new cpu.pin ;

// 探索者一號

//var pins = new cpu.pin ;

// 探索者二號

//var pins = new cpu.pin ;

// 雅典娜二號

var pins = new

cpu.pin ;

// 雅典娜三號

//var pins = new cpu.pin ;

var leds = new

outputport[pins.length];

for (int i = 0; i < pins.length; i++)

//var led4 = new led4();

for (int i = 0; i < 20000; i++)

= i;

thread.sleep(50);

}

這個程式很簡單,首先是例項化乙個小燈所在的針腳陣列,然後再建立輸出埠陣列,建立的時候,隔個的設定不同的初始化狀態,造成小燈分開來亮的效果。

每一次大迴圈,都包含一次小迴圈,而小迴圈所做的,就是讀出來針腳現在的值,取反後寫入。大迴圈需要暫停一會,要不太快了也看不清楚呀,呵呵!

然後,小燈就閃動起來了!

到這裡,也許很多人會問,點亮小燈,頂多只能做跑馬燈之類的玩具而已。其實這個跟用c語言電燈一樣,我們只需要稍稍改變,針腳出來接的不是小燈,而是乙個繼電器,那麼就可以控制220v的強電了啦!剩下的就看自己要做什麼了!

本文可能非常簡單,但作為微控制器的mf入門來說,並非每個人都可以做得到!

mf是微軟的開源嵌入式系統框架,經過了很多年的發現,在國內一直很冷淡,可能是因為開發板極為昂貴並且移植困難吧!我們新生命團隊經過不懈努力,總算找到了相對比較便宜的mf開發板(**200元左右),還有可以跑mf的核心板(**最低售價只需要46元);並且我們掌握了一些基礎的移植技術,可以把 mf移植到比較熱門和高價效比的多款板子上去。我們歡迎更多志趣相投的朋友一起來研究mf!

.net micro framework,讓我們盡可能的在不懂微控制器的情況下做一些簡單的微控制器控制系統!

end

神話系列之一 C 程式不能反編譯

網上流傳很多c和c 神話 我聽了以後,決定打破這些美麗的神話。給大家開開眼界,更希望能說明乙個神話,解開我 最神秘的等待 c程式能不能反編譯成 c語言的程式?神話 無法反編譯的,只能通過彙編來解釋。詳細 c語言源程式經過編譯 優化,得到目標格式,但由目標格式不能逆推得到c原始碼,因為目標碼可能是經過...

神話系列之一 C 程式不能反編譯

網上流傳很多c和c 神話 我聽了以後,決定打破這些美麗的神話。給大家開開眼界,更希望能說明乙個神話,解開我 最神秘的等待 c程式能不能反編譯成 c語言的程式?神話 無法反編譯的,只能通過彙編來解釋。詳細 c語言源程式經過編譯 優化,得到目標格式,但由目標格式不能逆推得到c原始碼,因為目標碼可能是經過...

C0 被神話的人工智慧

說起人工智慧,不知道大家對它的認知是怎樣的?勾起我對人工智慧興趣,是高中畢業後看的一部由導演 史匹柏 導演的一部叫 ai 的電影。看完之後,內心os 哇哦,人工智慧這麼有趣的嗎!上了大學之後,在學校裡的人工智慧協會裡接觸了解了許多。原來所謂的人工智慧並沒有認知裡的那麼玄乎,它不能上天入地,甚至也不能...