單片機,簡單嗎?

         做電子工程師切忌浮躁,一定要認真,就拿看芯片的數據手冊,一定要仔細,哪怕是一個字都不要放過,雖然數據手冊上面可能有錯,但你連這點都做不到怎麼發現錯誤。


        初學單片機時,可以把單片機當一個黑匣子,把C或彙編當成一個工具,一切都好辦,三幾天的功夫就可以把單片機內部資源搞定。然後再多修練幾天就可以做項目,再好好修練一下可以在單片機上跑系統,然後就感覺單片機好簡單,沒什麼好學的,看看別家的單片機,也是相通的,看看datasheet,再熟悉一下編譯器可以開工了,可是你真正懂單片機了嗎?


        有些人幹了好長時間的單片機工程師,可是還不知道ROM與RAM的區別,也或許只知道ROM是隻讀存儲器,放程序,RAM是隨機存儲是放數據的,但諸如PROM,EPROM,OTPROM,EEPROM,NORFLASH與NANDFLASH更是不知道有什麼聯繫與區別。還有哈佛結構與馮·諾伊曼結構的單片機有什麼區別,各有什麼好處?單片機內部都有幾種總線,有什麼聯繫?爲什麼有的單片機要把程序存儲器分頁,爲什麼要分出程序存儲空間與寄存器空間?一般哈佛結構的單片機有幾級流水線緩存,二級,三級還是更多,流水線緩存有什麼好處,爲什麼不能做更多?……別的不說就再說一個簡單的,單片機的端口都是什麼結構的,輸入與輸出有什麼區別,輸出的高電平是多少,輸出 電流是多少?也許你說這些datasheet上有呀,可是你想過沒有爲什麼要這樣設計,爲什麼你的程序寫出來了,跑的沒那麼快,或者沒有出現你想要的結果?


        單片機工程師也應該是電子工程師的範疇,與寫上位機的程序員還有所不同,單片機工程師不但會在電腦前面敲程序,還要懂硬件,單片機程序是幹嗎的,是驅動硬件的讓硬件幹活的,弄到最後也就是一堆01010的代碼,而靠這些010101來驅動硅晶片來工作的,做事情要抓住事物本質,同樣寫單片機程序同樣要抓住單片機的本質,連單片機內部結構都弄不清,怎麼寫出優質的程序。


        當你什麼都不懂的時候,你會覺得單片很簡單(看看datasheet,熟悉就下編譯器,就搞定了)。當你深入瞭解了單片機以後,你纔會真正的覺得它簡單,但此簡單與彼簡單不是一般的簡單。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章