当前位置:网站首页>要選擇那種語言為單片機編寫程序呢
要選擇那種語言為單片機編寫程序呢
2022-07-03 09:48:00 【槍哥玩轉嵌入式】
當你明白了單片機是這麼一回事的時候,顯而易見的問題出來了:我要選擇那種語言為單片機編寫程序呢?這個問題,當年困擾了我好久。

具體選擇C51還是A51呢?匯編在我們大二之前並沒有開過課,雖然看著人家的講解,很容易明白單片機的每一時刻的具體工作情况,但是一合上書或者資料,自己卻什麼也不知道了,根本不用說自己寫程序了。
於是,我最終還是决定學C51,畢竟C51和我們課上講的C語言,有些類似,編程的思想可以說是相通的。而且C51還有更大的優點就是編寫大程序時的優越性更不言而喻,當然在那時,我並沒有想的那麼深遠,C51的特點,還是在後來的實踐過程中,漸漸體會到的!朋友如果你選擇了C51,那麼請繼續往下看,如果你選擇了A51,那麼你可以不要看了!因為下面講的全是C方面的,完全在浪費你的時間! 呵呵。
文章相對比較長,字數比較多,大家可以先打開頭像關注我,之後慢慢看,///插播一條:我自己在今年年初錄制了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以哦~點我頭像左下角黑色字體加我也能領取哦。最近比較閑,帶做畢設,帶學生參加省級或以上比賽///

第二,既然你想學好單片機,你必須得舍得花錢,如果不買些芯片回來自己動手焊焊拆拆的,即使你每天捧著本書,把那本書翻爛,也永遠學不會單片機的!剛接觸單片機的朋友,看了資料,一定會對以下幾個詞見的比較多,但是具體的概 念還是比較模糊
第三,想學單片機的必需品--PC。因為寫程序,編譯或者是仿真都是通過PC完成的。如果沒有PC,什麼也做不了!!!有了PC最好還要可以上網,因為如果你沒有可以和你交流單片機的人,遇到自己解决不了的問題,一直都想不通,那麼估計你學習單片機的熱情就會隨著時間的推移而慢慢耗盡。如果你能上網通過論壇或者扣扣群,問題就很快得到解决。這樣的學習效率一定很高!真正的高手是從論壇中泡出來的!
有了上述3個條件後,你就可以開始學你的單片機了。但是,真的做起來並沒有我所說的那麼簡單。你一定會遇到很多很多的問題。比如為了讓單片機實現某個功能,你可能不知道怎麼去寫某個程序。或是你看懂了資料上某個相似的程序,你自己卻寫不出來。遇到類似的情况, 記住:千萬不要急噪,就行!

大概瀏覽了一些網友對於C語言的討論,似乎大家都很熱衷於討論不同編程語言之間的優劣比較,討論得高興了完全把提問者放一邊去了。有些小白現在的情况根本不是大家給他推薦個好用的語言就能解决的,他現在的情况是,C 語言剛起步沒多久,還沒遇到什麼特別複雜的內容,就已經開始“每天對著對話框好枯燥”了。
學習什麼東西不需要花苦功夫?計算機軟件本身天生具有複雜性,換別的語言之後就可以輕松愉快不用花什麼力氣輕松成為高手了?不見得吧?從 C 語言開始入門沒什麼不好的,如果想走開發這條路的話,就咬緊牙關好好學。如果剛開頭就已經受不了這點枯燥的話,將來枯燥的事情多了去了。
另外,針對網友,我想專門再補充兩句:中國的計算機教育非常落後,這點我同意;用 C 語言作為入門語言作為教育落後的標志,這點我完全不同意。

一些網友提到說在純字符界面下學習太枯燥,我想再補充幾句:
語言只是一個工具,只要調用了圖形界面的 API,C 語言一樣可以寫窗口,可以畫圖形,可以播放音樂,可以聯網,甚至你想用 C 語言煮茶,只要有相應 API 也不是不可能。但問題在於,在基本編程功底還不紮實的情况下,你學會一堆花哨的 API,除了能在不懂編程的人面前炫耀一下之外,還能有什麼別的用途呢?
單靠幾個單獨的 API 調用,的確是能够做出一些好玩的小玩具,可那只是玩具而已。而且,你做的東西越複雜,需要面對的枯燥的東西就越多,要想實現一個有用的軟件,需要面對的枯燥內容比起純字符界面下的學習只多不少。
作為計算機專業的人員來說,C語言是混飯吃的家夥,學好也是應該的。不過,編程在這個世界上並不是計算機專業的專利,程序這個詞語本身也是可以指辦事程序等等。
對單片機感興趣的朋友可以找我,我錄制了一些關於單片機的入門教程,有需要的童鞋找我拿就行,免費的,私信我“林老師”就可以拿~點擊打開我的頭像就能領取

對於初次接觸編程的人來說,我覺得關鍵是學會用 判斷和循環 來分解問題解决問題的能力。c#和java都是提供了大量的類庫的,並不需要寫很多算法,學c語言寫冒泡排序除了讓你學會這個算法,實際實在沒什麼用武之地,數據庫一句order by就解决排序問題了,如果你用c語言真的寫出一種更好的排序算法,那這屬於數學範疇,是理科問題,應該直接去發錶論文而不是自己編程玩。
可能這兒計算機專業的人比較多吧,對c語言推崇有加,我是認為這個世界除了計算機專業寫算法的程序員,還需要的是更大量的膠水程序員。
好了,這期就到這裏了,覺得對屏幕前的你有幫助的麻煩一鍵三連

边栏推荐
- [successful graduation] [1] - visit [student management information system]
- 干单片机这一行的时候根本没想过这么多,只想着先挣钱养活自己
- Leetcode daily question (1362. closest divisors)
- Please tell me how to set vscode
- UCI and data multiplexing are transmitted on Pusch (Part 4) --small block lengths
- Project scope management__ Scope management plan and scope specification
- Desktop icon recognition based on OpenCV
- Difference of EOF
- Epoll read / write mode in LT and et modes
- Installation and uninstallation of pyenv
猜你喜欢

UCI and data multiplexing are transmitted on Pusch - determine the bit number of harqack, csi1 and csi2 (Part II)

Intelligent home design and development

Stm32-hal library learning, using cubemx to generate program framework

The rise and fall of mobile phones in my perspective these 10 years

JMX、MBean、MXBean、MBeanServer 入门

【男保姆式】教你打开第一个微信小程序

Electronic product design
![[CSDN] C1 training problem analysis_ Part II_ Web Foundation](/img/91/72cdea3eb3f61315595330d2c9016d.png)
[CSDN] C1 training problem analysis_ Part II_ Web Foundation

Nr-prach: access scenario and access process

内存数据库究竟是如何发挥内存优势的?
随机推荐
Epollet lessons
STM32 serial communication principle
JMX、MBean、MXBean、MBeanServer 入门
NR PUCCH format0 sequence generation and detection mechanism
端午节快乐!—— canvas写的粽子~~~~~
Flink learning notes (10) Flink fault tolerance mechanism
Call the contents of Excel cells opened at the same time - button line feed
Development of fire evacuation system
干单片机这一行的时候根本没想过这么多,只想着先挣钱养活自己
Fundamentals of Electronic Technology (III)__ Chapter 1 resistance of parallel circuit
Schematic diagram and connection method of six pin self-locking switch
Nodemcu-esp8266 development board to build Arduino ide development environment
【力扣刷题笔记(二)】特别技巧,模块突破,45道经典题目分类总结,在不断巩固中精进
Difference of EOF
Leetcode daily question (1162. as far from land as possible)
Nodemcu-esp8266 development (vscode+platformio+arduino framework): Part 2 --blinker_ Hello_ WiFi (lighting technology - Mobile App control routine)
Successful graduation [2] - student health management system function development...
C language enumeration type
Leetcode daily question (2232. minimize result by addressing parents to expression)
[CSDN]C1训练题解析_第三部分_JS基础