1樓:匿名使用者
最近論壇上發了一個**帖子——吳鑑鷹微控制器實戰專案精講,因此受到不少網友的關注,在這裡吳鑑謝謝各位網友的支援、關心和信任。
在帖子中留了幾個群號,有兩千多讀者加了群,通過qq向我詢問了很多問題,如果在工作不是太忙的時候我看到了就會回答,但是有時候做專案太忙就沒時間解答。
為此,在這裡應群內成員以及一些網友的要求,專門寫一篇文章來針對這些問題做一個總結。希望能為大家的疑惑有一點點幫助就足以。不足之處,也希望大家客觀指出,君子和而不同。
1、學習微控制器有用嗎?
有很多初學者有這樣的困惑,微控制器初學者感覺入門很難,學著學著,就會產生這樣的疑問——自己辛辛苦苦學習微控制器,將來有用嗎?
微控制器只是一個工具,重要的還是思想,有了自己的想法,電子行業地域遼闊,隨便你闖。微控制器這個切入點入手還是不錯的,可以讓你儘快進入電子殿堂的大門,如果你還在上學,不要眼睛裡面只盯著暫時的薪水,哪怕是畢業兩三年的也一樣。重要的是掌握程度和對技術的理解程度,有句話叫「水到渠成」,到時候再去研究工資的事情也不晚。
2、學習嵌入式程式設計有必要從51微控制器開始嗎?
我原本來在讀大學的時候,有很多同學聽說學習arm很牛逼,於是就跑到圖書館借了一兩本關於arm的書,學一兩天後發現跟自己想的不太像,於是學著學著就慢慢放棄了。所以我總結一下,與其邁很大的步子,不如放慢腳步一步步走。從最基本的做起,一步步走,等微控制器學會之後再進行像arm,dsp之類高階處理器的運用,也就能得心應手了,如果想一口吃成一個胖子,只怕最後沒胖起來,倒把自己給噎死了!
3、會用高階處理器就牛了嗎?
不少網友問我:是不是學會了arm、嵌入式作業系統就會很牛?是不是微控制器就是運用在低檔產品上,arm做出來的產品就高階了。
首先,從本質上說,是同一類東西,都是嵌入式應用方面的主力。十八般兵器,沒有優劣之分,只是在乎持兵器的人修為高低,當年解放軍憑藉小米加步槍不也取得了抗戰勝利。
微處理器,微控制器、dsp、fpga、arm,每一種都有自己的側重點,都具備自己的優勢和劣勢。
微控制器:技術比較成熟,運用在工控領域比較多,但進行嵌入式應用顯得太龐大,因而派生出arm微控制器進行高階應用,可以進行作業系統的移植,但是現在一些高階微控制器也可以移植作業系統,微控制器跟arm並沒有什麼本質的區別。
dsp:是資料處理的縮寫。也可以做控制運用,它的優勢是運算,主要用在運算量大的領域,如數字訊號處理,影象處理,視屏處理,導彈雷達上也等等。
如果要用的好,需要學會很多高深的演算法,需要有較強的數學功底。
fpga:可程式設計邏輯陣列的縮寫。實際上就是做一個晶片,用軟體實現它的內部連線,達到用軟體的方法實現硬體的目標。
是用硬體實現的一種方法。是早期微控制器(功能簡單的邏輯應用)的現代實現方法。
總結:一個嵌入式軟體工程師,其實核心競爭力不是你會運用什麼晶片,當你會了一兩種以後,再學其他的,就會覺得很容易了。一個真正的有競爭力的工程師,應該是具備良好的程式設計習慣,程式設計思路,還應該具備紮實的數學功底。
只有把握核心的東西,才能走的更遠。
4、微控制器行業技術研發有前途嗎?
這也是初學者最為關心的一個話題,微控制器行業的技術研發將來前途如何?
著名的高爾夫球手,老虎伍茲說過一句話:我只需成為高爾夫數一數二的高手,錢自然會追著我來。
微控制器技術研發,也就是一個型別的職業崗位,同樣叫做「微控制器工程師」,能力、經驗、學歷,參差不齊,因此待遇肯定也不盡相同。
高待遇者,年薪數百萬也有,低收入者,養家餬口都難。
只有倒閉的企業,沒有倒閉的行業!
不是行業沒有前景,只能反思自己為何沒有足夠的優秀。
5、微控制器技術研發太苦太累,值得去堅持嗎?
在論壇裡看到很多人在抱怨:現在電子行業的研發做起來太累,待遇又不是很好,感覺沒什麼出路。
既然我們選擇了微控制器行業,就堅持做下去,不要輕信別人講的:微控制器研發工程師沒有前途,太苦太累。
學好微控制器你至少可以找一份技術性的工作,就算目前累一點,至少你可以看到希望,隨著自己經驗的積累,未來的路會越走越寬!至少可以坐在辦公室裡面,有自由的時間可以支配。
你知道那種專業課沒學好,只能去車間做一線工人的感覺嗎?坐在車間裡像一個機器人一樣每天重複同樣的工作嗎?你喜歡過那種一點自由都沒有,在流水線上忙碌著,連上廁所時間都沒有的工作嗎?
我相信沒有人喜歡!
所有不要被一些工作了幾年的工程師的話語所迷惑,說做技術很苦,拿的錢又少,當你真正有一天想去做技術,發現原來因為自己缺少知識的積累,沒有公司願意要你。
簡單地分享了自己對微控制器領域一些問題的看法,歡迎同行積極分享自己的心得,能讓更多初學者少走彎路,擺正心態進行微控制器的學習。
2樓:做而論道
這題目,設計硬體、軟體、儲存格式...,規模夠大了。
stm32的pa1口接一個按鍵,按下這個鍵就加1這怎麼寫程式
3樓:匿名使用者
rcc_ahbperiphclockcmd(rcc_ahbperiph_gpioa,enable);
//pa1---pa8,上拉輸入,pa4為模擬量輸出
gpio_initstructure.gpio_pin=gpio_pin_1|gpio_pin_2|gpio_pin_3|gpio_pin_5|
gpio_pin_6|gpio_pin_7|gpio_pin_8;
gpio_initstructure.gpio_mode=gpio_mode_in; //模式為輸入
gpio_initstructure.gpio_pupd=gpio_pupd_up; //上拉
//pa1鍵
if(pa1==0)
4樓:賽先生盧仕強
本人只講思路:(1)首先你要明確你的按鍵是上拉接法還是下拉接法;(2)要明確按鍵是輸入裝置,所以按鍵接在pa1上,你要根據按鍵硬體電路的上拉或下拉接法來確定pa1這個gpio口的輸入方式,按鍵硬體上是上拉接入,pa1就配置上拉輸入,同理,下拉對應下拉;(3)然後寫程式,首先寫gpio初始化程式:包括使能時鐘、輸入模式設定、速度設定、上下拉設定;(4)在寫按鍵檢測程式之前要明確檢測上升沿還是檢測下降沿:
如果按鍵在硬體上是上拉接法,則按下按鍵會產生負脈衝按鍵訊號,按鍵檢測程式則檢測下降沿即可。如果是下拉接法,則當按鍵按下則產生正脈衝按鍵訊號,按鍵檢測程式則檢測上升沿即可。(5)根據(4)中所述,寫按鍵檢測上升沿或者下降沿的按鍵檢測程式,並且在按鍵檢測程式中應該採用延時程式實現10至20ms的延時處理按鍵的抖動,目的是為了消除按鍵產生的機械抖動,專業說法叫做按鍵的消抖。
(6)在按鍵檢測程式內部,當按鍵檢測成功,則執行自己設定的變數自加1的這一行**。以上六步就可以實現君所需功能。
5樓:龍君蓮
這個定義成為什麼字母完全是隨便的,不定義也行
stm32f103晶片,如何讓pa1和pb1 都作為中斷源產生中斷?我知道硬體不支援,但是還有沒有別的辦法? 5
6樓:
那你就給pa1和pb1迴圈高低電平好了,
然後設定兩埠分別為上升沿或者下降沿產生中斷就可以了
請問微控制器程式中的這些符號是什麼意思?
51微控制器程式設計題微控制器P1 0 1 7口接發光二極體(愛心圖樣)試編寫流水燈的彙編程式使發光二極體逐個亮
啟動入口 org 0000h 復位啟動 ljmp start org 000bh t0中斷 ljmp t0int org 0100h ljmp start 主控程式 start mov sp,80h 初始堆疊值mov tmod,01h 定時器0工作於方式1,50毫秒 12.000mhz mov th...
微控制器接驅動模組電路如何用光耦隔離
單個的光藕有4個引腳,其中兩個是發光二極體的陰極和陽極,另外兩個是接收側,相當於三極體的發射極和集電極,發光側有正向電流流過,則受光側光電感應管導通.如果微控制器是輸出,發光二極體接微控制器的io引腳,另一側接被控制端 這種接法是反相的,微控制器輸出高電平,另一側是低電平 如果發光管接於電源和微控制...
微控制器串列埠作用微控制器序列口與普通IO口區別?
能接收和傳送 r232方式的序列資料,是微控制器和 微控制器通訊,微控制器和計算機,微控制器和板卡,無線模組等等通訊的一個基礎通訊方式,很早在6 7時年代流行的通訊方式,是微控制器和外加序列通訊的一個重要方式,也是個常用而簡單方式。是學習微控制器基礎知識的核心。序列通訊的基本概念 一 非同步通訊與同...