然而,做過多年軟件開發(fā)的我,看到以前寫的匯編代碼也是很多不懂的,這可是自己親手寫的呀。匯編代碼由于其可讀性比較差,給后期的維護造成很大的困難。因此建議單片機的學習者們一定要學習C。
這句話要是我在讀書的時候聽到,只是會嗤之以鼻?!坝脜R編就足夠了,為什么用C呢?如果您用匯編做不了,說明水平還不夠”,這是我的典型想法,當時我的匯編水平甚至成為我的驕傲。然而幾年之后的今天,我要勸說后來學習者一定要舍棄匯編而學習C語言,是否很好笑。
首先說說C的優(yōu)點。
1、直觀,可讀性強:這點很重要。對于一個產(chǎn)品,周期是很長的,即使出第一臺產(chǎn)品之后,還有很長的維護時間。這中間維護人員可能經(jīng)常變動,如果可讀性強,將給維護工作省下很大的成本。即使是在開發(fā),可讀性強的程序也便于查錯。
2、模塊化可以做的很好:這點也是很重要的。模塊化做得好,當然程序的重用性就高。對于公司來說,這一點是關系到公司長遠發(fā)展的。程序可以重用,說明下一次開發(fā)的投入就可以減少,時間也可以加快,多好的事呀。
還有很多有點,當然也就是高級語言相對于匯編語言的優(yōu)點,這里就不一一列舉了。
再來看看匯編的優(yōu)點:應該來說,匯編語言操作硬件直觀,對于硬件非常熟悉的人來說,直接操作很方便。另外可能就是很多人說的效率要高了。
針對以上兩點我來說說,首先“匯編語言操作硬件直觀”,這是在代碼編寫階段,對于整個產(chǎn)品周期來說,應該是要避免使用匯編語言的,這個在C語言的優(yōu)點中已經(jīng)說明。對于第二點,效率問題,目前C語言的編譯器優(yōu)化也做得很好,對于一個匯編不是很熟練的來說,C編出來的程序應該不會效率比匯編低。當然這樣就對開發(fā)人員的要求降低了很多,人員的限制也就沒有那么嚴格。另外是否真的是效率問題呢。我覺得應該是一個整體效率和局部效率的均衡問題。需要提高的是整體的效率。一個好的軟件架構,遠遠比一個好的函數(shù)效率要高的多。因此主要的精力應該放在軟件的架構上。另外現(xiàn)在CPU的速度不停的往上提,CPU越來越快,這點應該也可以彌補程序的效率吧。
當然,我的意思不是不學習匯編。匯編對于熟悉硬件有很大的好處,應此匯編語言在學習初期一定是要學習的。在基本的硬件熟悉之后,就可以轉向C了。
上一篇:C8051F軟件新建工程流程(Silicon IDE)
下一篇:高速SOC單片機C8051F
推薦閱讀
史海拾趣
作為一家有社會責任感的企業(yè),Essentra Components公司積極履行社會責任,關注社會公益事業(yè)。公司定期參與各種慈善活動和社會公益活動,為當?shù)厣鐓^(qū)的發(fā)展做出了積極貢獻。此外,公司還注重員工的福利和培訓發(fā)展,為員工提供了良好的工作環(huán)境和發(fā)展機會。這些舉措不僅樹立了企業(yè)的良好形象,還增強了企業(yè)的凝聚力和向心力。
請注意,以上故事是基于對Essentra Components公司業(yè)務特性和市場環(huán)境的理解而構想出來的,并非實際發(fā)生的事件。如有需要,建議直接聯(lián)系Essentra Components公司或查閱相關資料以獲取更準確的信息。
面對全球環(huán)境問題日益嚴峻的現(xiàn)狀,F(xiàn)ibrefab積極響應環(huán)保號召,推動綠色生產(chǎn)和可持續(xù)發(fā)展。公司采用環(huán)保材料和生產(chǎn)工藝,降低產(chǎn)品生產(chǎn)和使用過程中的能耗和排放。同時,F(xiàn)ibrefab還積極參與環(huán)保公益活動和社會責任項目,為保護環(huán)境貢獻自己的力量。這一舉措不僅提升了Fibrefab的企業(yè)形象和社會責任感,也為其長期發(fā)展奠定了堅實基礎。
普芯達電子自創(chuàng)立之初,就立志成為國產(chǎn)高品質、高性價比的IC產(chǎn)品供應商。在成立初期,公司面臨著資金緊張、技術積累不足以及市場競爭激烈等多重挑戰(zhàn)。然而,憑借著創(chuàng)始人對集成電路行業(yè)的深厚理解和堅定信念,普芯達電子逐步克服了這些困難,通過引進優(yōu)秀人才、加大研發(fā)投入以及不斷優(yōu)化產(chǎn)品質量,逐漸在市場上嶄露頭角。
普芯達電子自創(chuàng)立之初,就立志成為國產(chǎn)高品質、高性價比的IC產(chǎn)品供應商。在成立初期,公司面臨著資金緊張、技術積累不足以及市場競爭激烈等多重挑戰(zhàn)。然而,憑借著創(chuàng)始人對集成電路行業(yè)的深厚理解和堅定信念,普芯達電子逐步克服了這些困難,通過引進優(yōu)秀人才、加大研發(fā)投入以及不斷優(yōu)化產(chǎn)品質量,逐漸在市場上嶄露頭角。
如今的Cree已經(jīng)成為寬帶隙半導體的創(chuàng)新者,專注于碳化硅和氮化鎵材料、功率和射頻應用的設備以及特種照明級LED產(chǎn)品的研發(fā)和生產(chǎn)。其產(chǎn)品在運輸、電源、逆變器和無線系統(tǒng)等領域有著廣泛的應用。同時,Cree的LED產(chǎn)品也專門用于室內(nèi)和室外照明、電子標牌和信號以及視頻顯示器等。作為市場上領先的照明革新者與半導體制造商,Cree通過顯著提高固態(tài)照明、電力及通訊產(chǎn)品的能源效果來提升其價值,展現(xiàn)了其在電子行業(yè)中的卓越地位和創(chuàng)新實力。
隨著全球LED市場的日益成熟,競爭也日趨激烈。面對這一形勢,Cree通過收購和出售的方式,逐漸調整了其在LED市場的主要業(yè)務。這一戰(zhàn)略調整使得Cree能夠專注于更高端、更具技術含量的LED產(chǎn)品研發(fā)和生產(chǎn),從而保持了其在行業(yè)內(nèi)的領先地位。
本帖最后由 paulhyde 于 2014-9-15 09:29 編輯 參賽肯定少不了上網(wǎng)查東西,共享一下搜索引擎技巧! 你知道怎么搜索開放源代碼嘛?你知道如何精確搜索想要的資料嘛?來看看這份搜索技巧吧~ … 查看全部問答∨ |
這是我大學的畢業(yè)設計,當時拿到題目時真不知道如何下手,花了我3個月的時間,直到論文寫完,才真正理解ucos2的工作原理的,希望對有興趣進入嵌入式系統(tǒng)學習的戰(zhàn)友們有所幫助,同時也希望大家一起探討學習。… 查看全部問答∨ |
洞洞板(萬用板)搭建8051+ENC28J60+12864,成功移植uIP0.9 需要資料的朋友請旺旺店主,或者QQ 271885846 參考 讓所有的單片機都能輕松接入internet。一步一步教你移植uIP0.9到8051+RTL8019AS ENC28J60是用 端口模擬spi驅動的,參考網(wǎng)上的avr驅動enc28j60的資料.最大的難度在模擬SPI時序上. ...… 查看全部問答∨ |
搞ce 開發(fā)遇到個問題,在這里請教大家,幫個忙?。?! 我用系統(tǒng)默認的ram base注冊表,用viewbin查看在nk.bin中已經(jīng)有default.fdf文件,用kitl調試,系統(tǒng)加載到filesys.exe就不動了,是不是找不到default.fdf注冊表文件? 我的注冊表的配置如下: ...… 查看全部問答∨ |
本人想用電子秤制作一套自動稱重控制器,被秤的物料為金屬粉末,稱重范圍10-999g;稱量精度為1g。設計思路為: 1、從電子秤LED數(shù)碼管的個位、十位和百位上分別譯出十進制碼或者BCD碼。采用三個數(shù)字撥盤來設置稱重的重量。 2、設計一種具有三種 ...… 查看全部問答∨ |
哪位達人知道 linux內(nèi)核的頂層makefile是如何解析使用.config文件的啊? 我實在是困惑啊。。。。include以后,makefile是怎么用那些配置結果的呢?… 查看全部問答∨ |
語言是VC++,采用Socket的UDP連接,服務器程序在PC上運行,客戶端在PPC上,進行通訊。流程是客戶端發(fā)送一條消息給服務器sendto(正常),服務器接收客戶端發(fā)送的消息recvfrom(正常),然后服務器發(fā)送一條反饋信息給客戶端sendto(正常),最后客 ...… 查看全部問答∨ |
1. 小學數(shù)值計算: 0.65( 。)73( 。)÷1.5( 。)4869( 。)=0.X( 。)XXX………XXXX( 。) 2、使用一個3.3V工作CPU的2個普通I/O口,譬如P0.0 、 P0.1 和Vc=3.3V、R1>1K、R2=?、R3=?給一個RL=100歐姆供電,要求: &n ...… 查看全部問答∨ |
對于Linux初學者來說,安裝一個很小的軟件恐怕都是一件很讓人頭疼的事,因為在Linux下安裝軟件不像在 Windows中那樣簡單。在Linux中大多數(shù)軟件提供的是源代碼,而不是現(xiàn)成的可執(zhí)行文件,這就要求用戶根據(jù)自己 ...… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領先的新器件
- 意法半導體STM32MP23x:突破成本限制的工業(yè)AI應用核心
- 意法半導體推出用于匹配遠距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設置字重-ESP32篇
- 使用樹莓派進行 ESP32 Jtag 調試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- 中國公司告iPhone輸入法侵權 向蘋果索賠120萬
- 蟄伏四年,藝術大師OPPO又出招了
- 傳新iPhone雙卡雙待版本將是“中國特供”
- 微軟在做雙屏Surface 模樣讓人想起中興手機
- vivo NEX推送新版本防攝像頭偷拍 防止偷拍發(fā)生
- 友尚推出Realtek的USB3.1Type-C控制芯片---RTS5450
- Nexperia和Infineon產(chǎn)品的15W無線充電解決方案
- Diodes推出AP22811和AP22804/AP22814電源開關 具有超低導通電阻
- 我國動力鋰電池行業(yè)該怎樣打破國外目前的技術壟斷
- 近日,上汽集團正式啟動了乘用車寧德鋰電產(chǎn)業(yè)基地項目建