日本电影一区二区_日本va欧美va精品发布_日本黄h兄妹h动漫一区二区三区_日本欧美黄色

關(guān)于MSP430編程方式選擇(msp430編程入門)

關(guān)于MSP430編程方式選擇(msp430編程入門)

對于MSP430來說,有一些芯片是有庫函數(shù)的,大家喜歡繼續(xù)沿用寄存器開發(fā)還是使用新的庫開發(fā),還是二者都用?

有何想法見解,歡迎點(diǎn)擊閱讀原文跟帖回復(fù)討論。對于優(yōu)秀的見解,我們將選擇3名,贈送精美實(shí)用禮物。下面就一起看看網(wǎng)友們的精彩討論吧!

freeelectron:

庫函數(shù),庫函數(shù)更容易上手,開發(fā)更快。

石玉:

如果同時(shí)也提供了一些庫函數(shù)的例程的話當(dāng)然是用庫函數(shù)開發(fā),怎么方便怎么快就用什么

關(guān)于MSP430編程方式選擇(msp430編程入門)

先把要做的功能實(shí)現(xiàn)了再有時(shí)間去仔細(xì)了解深層原理,有感性認(rèn)識后學(xué)習(xí)也會快一些

zhang7309:

用庫上手快,并且比較方便,不過對于寄存器的配置有時(shí)候還是需要用的,但是感覺有的庫可能為了兼顧通用性不夠精簡,必要時(shí)可以自己簡化一下。

電子微創(chuàng)意:

1.對于想快速了解并上手開發(fā)還是用庫比較方便,甚至不需要對芯片手冊仔細(xì)研讀就可以開發(fā)。相對復(fù)雜的如涉及到usb協(xié)議的還是要用庫開發(fā)更省勁!

2.想了解芯片還是用寄存器方式更好,尤其對于Debug更有利!

3.還可以兩種方法混用,對于芯片的初始化工作可以調(diào)用庫來完成其他內(nèi)容就操作寄存器,我就是這樣用ti的

關(guān)于MSP430編程方式選擇(msp430編程入門)

lcofjp:

用庫開發(fā)是趨勢,代碼簡潔,開發(fā)效率高,缺點(diǎn)可能是生成的二進(jìn)制體積會略大,運(yùn)行效率或許也有輕微影響,所以我覺得容量小的單片機(jī)可以優(yōu)先使用寄存器來開發(fā),因?yàn)槿萘啃〉墓δ芟鄬唵危拇嫫饕采?,用寄存器操作相對來說難度也會小。但是容量大功能復(fù)雜的單片機(jī),用庫來開發(fā)肯定是首選,或者至少也是需要庫和寄存配合使用。

以上僅是個人觀點(diǎn)。

phwj2006:

430一般我還是使用寄存器操作。因?yàn)橹饕堑凸牡膬?nèi)容,自己操作庫更簡潔。但是也有麻煩的地方。需要一定的開發(fā)經(jīng)驗(yàn)。

庫函數(shù)我認(rèn)為開發(fā)簡單適合初級者開發(fā)使用。一些開發(fā)復(fù)雜的內(nèi)容,比如觸摸按鍵還是用庫比較合適。

湯權(quán):

非常非常喜歡這個問題,一直想跟別人討論關(guān)于庫函數(shù)和寄存器的優(yōu)劣,其實(shí)不管是什么處理器都有這個問題,因?yàn)橹芭猄TM32和MSP430的時(shí)候都有這樣的疑問,用庫函數(shù)的話程序顯得很死板,而且編譯出來的bin文件好像還大一點(diǎn),最重要的是沒有一種自己在操控處理器的感覺,而是使用庫、庫、庫。所以一開始的時(shí)候開發(fā)我都是執(zhí)著于使用寄存器開直接開發(fā)程序,感覺使用寄存器的位操作心里很舒服。不過到了后來發(fā)現(xiàn)有的時(shí)候只使用寄存器是不太現(xiàn)實(shí)的,比如使用到了USB、以太網(wǎng)、SD卡的時(shí)候,光是這些個硬件的協(xié)議都能整死人,別說是用寄存器來一點(diǎn)點(diǎn)調(diào)配這個外設(shè)的參數(shù)了。所以后來我還是使用了庫函數(shù)來開發(fā),但是單純使用庫函數(shù)會有一些問題,就是速度,畢竟調(diào)用函數(shù)的速度和直接操作寄存器的速度還是差了么點(diǎn),有的地方例如高頻率的中斷處理函數(shù)中使用幾行寄存器的操作就搞定使用一大堆庫函數(shù)的任務(wù)了,速度和大小都會是最優(yōu)的, 所以我還是將庫函數(shù)和寄存器兩者結(jié)合在一起使用,將一些常用的例如GPIO口的操作都使用宏來定義。最后我想說的是想要小打小鬧的玩玩MSP430的話直接使用寄存器沒問題,但是想要做工程,做復(fù)雜,個人來看還是需要庫函數(shù),也可以適當(dāng)加入一點(diǎn)寄存器的成分。(注:上面的寄存器是指“直接操作寄存器”)

關(guān)于MSP430編程方式選擇(msp430編程入門)

關(guān)于MSP430編程方式選擇(msp430編程入門)

關(guān)于MSP430編程方式選擇(msp430編程入門)

Bingqi23:

做小項(xiàng)目的時(shí)候還是習(xí)慣直接寄存器操作,在做一些大點(diǎn)的項(xiàng)目時(shí)候,優(yōu)先選擇庫函數(shù)了

hjl240:

當(dāng)對效率要求不高的時(shí)候,使用庫函數(shù)方便。對效率要求比較嚴(yán)格的話,還是要用寄存器開發(fā)。

clls2080000:

功能多的,容量大時(shí),用庫函數(shù),功能少,容量小時(shí),用寄存器

elvike:

樓上的都說了,容量大的用庫,容量小的用寄存器。我想說的是除了看mcu本身存儲器之外還要看系統(tǒng)功能,比如有一些時(shí)間比較苛刻的代碼,用庫的后果是哭成海。除此之外還要看個人,如果是江湖高手那自然不用說了,新手還是從庫入門然后看懂庫的流程,修改成寄存器這個辦法不錯的?,F(xiàn)在mcu的性能越來越高了,以前用個51的地方都想換個m3,我們隊(duì)長說過一句話:水平不夠,性能來湊。這句話哪個在前哪個在后,貌似都有理

關(guān)于MSP430編程方式選擇(msp430編程入門)

shinykongcn:

兩者都需要吧,庫雖然方便快速,但是寄存器有時(shí)候更高效啊,操控感更強(qiáng)~

關(guān)于MSP430編程方式選擇(msp430編程入門)

16號哨兵:

還是庫方便點(diǎn),注意效率和器件性能限制的時(shí)候再用寄存器。隊(duì)長的水平不夠,性能來湊。真是如此

dageliu:

在學(xué)習(xí)STM32的固件庫,對比430我還是覺得430直接配置寄存器比較簡單,可能是習(xí)慣了直接配置。但庫還是必要的。就像樓上說的,二者各有各的優(yōu)點(diǎn),要根據(jù)實(shí)際情況決定是用庫還是直接配置,這也得看個人喜好!

RCSN:

對于DIY或者個人開發(fā)的,新手或者剛接觸TI的, 還是先用寄存器操作,畢竟寄存器開發(fā)更能理解TI的MCU的寄存器,后續(xù)再使用庫函數(shù)來進(jìn)行開發(fā)。

對于公司開發(fā)的,可以用TI已經(jīng)成熟的庫函數(shù)進(jìn)行開發(fā),這樣有助于后期人員因?yàn)檎{(diào)動等原因引起的不必要的交接困難。

lansebuluo:

開始學(xué)習(xí)的話,用庫函數(shù),上手快,要是想明白原理,還是要仔仔細(xì)細(xì)看庫內(nèi)容。

這些庫,是經(jīng)過嚴(yán)格測試的,拿到產(chǎn)品上用,比自己編寫可能更穩(wěn)定

數(shù)碼小葉:

要說MSP430編程方式選擇,實(shí)際上估計(jì)沒有多少人用庫,個人覺得這個就和TI有關(guān)了,庫的通用性太弱,不是支持所有器件,參數(shù)太復(fù)雜,和ST沒法比,也可能和TI的庫出現(xiàn)不久有關(guān)吧。所以花時(shí)間去適應(yīng)庫覺得意思也不是很大,所以430一般更傾向于寄存器操作,一是沒那么復(fù)雜,二是,每個模塊都有例程,上手也不難。

另外,TI的Grace本來是個很不錯的開發(fā)工具,可惜貌似被放棄了,然而ST卻推出了類似的CUBE

關(guān)于MSP430編程方式選擇(msp430編程入門)

關(guān)于MSP430編程方式選擇(msp430編程入門)

關(guān)于MSP430編程方式選擇(msp430編程入門)

,讓開發(fā)大大簡化

zgf004494:

沒有用過函數(shù)庫,一般都是參考列程 PDF , 調(diào)完程序,再也不回頭看, 希望 有更多函數(shù)庫這樣參考性更多,通用性強(qiáng)

rowen800:

寄存器開發(fā)缺點(diǎn):程序可讀性差、開發(fā)速度慢,但執(zhí)行效率高點(diǎn)。庫函數(shù)開發(fā)是 趨勢,代碼易讀,移植性好。

xunke:

用庫比較方便,然后再優(yōu)化。

DavidZH:

底層 庫,必須的,搞起

huaiqiao:

1、針對樓主提出的問題,以前我也有此疑問?

為什么430要像51一樣,如此麻煩的操作寄存器,沒有更加簡單的方式? 后來接觸到32我才發(fā)現(xiàn),其實(shí)庫函數(shù)的本質(zhì)還是在操作寄存器。這個只是相當(dāng)于“站的高”一些而已;

以前剛開始接觸430的時(shí)候是f149,屬于比較經(jīng)典的老款單片機(jī)了。寫代碼的時(shí)候,要一遍看用戶手冊,一遍在iar中敲代碼。

其實(shí)如果是經(jīng)常用430的工程師,可以將一些常用的寄存器的操作封裝成函數(shù)。這樣直接引用函數(shù)就好。這個思路其實(shí)我在最近學(xué)習(xí)2530的時(shí)候想到的,可能我自己比較笨,也許有更好的辦法。

上次我跟一個網(wǎng)友交流說,現(xiàn)在比較新的430的片子有庫函數(shù)了,不過我聽了以后沒有去深究。

2、既然提到IDE,那么ti在430 這塊的話,開發(fā)環(huán)境據(jù)我了解還是以ccs和iar為主。說實(shí)話,ccs我沒有碰。原因是因?yàn)樗艽?,動不動就幾個G。。。。聽說它很強(qiáng)大,但是對于我來說,我不想浪費(fèi)電腦空間。所以就選擇了iar。。。。

3、當(dāng)然從開發(fā)的方便的程度來說,庫函數(shù)開發(fā)可能會更加容易上手一些,或者說更加方便一些,這也就是我身邊的幾個同事都偏向于使用32,而非TI的430或者飛思卡爾,以及小日本的額瑞薩。如果ti能把這塊做的像32一樣漂亮(說實(shí)話,新的庫我沒有接觸過哦),從低功耗的角度來講的話,會更加的受歡迎。

寄存器,這個最底層的東西。因?yàn)閐ebug的時(shí)候,一看就知道,語句操作寄存器操作的對不對?

我是奔著插線板來的,評不到的話,其他獎品留給其他網(wǎng)友。哈哈,就這么“無恥”。O(∩_∩)O哈哈~

ketose:

用庫函數(shù),還是使用寄存器,這個話題經(jīng)常看到在很多論壇都有討論。喜歡用寄存器的說:庫函數(shù)效率低,不能了解低層。喜歡用庫函數(shù)的說:寄存器開發(fā)代碼看起來晦澀,開發(fā)效率低,開發(fā)復(fù)雜??傊枪f公有理,婆說婆有理。

在我看來不能一概而論,首先任務(wù)事物的發(fā)展都要經(jīng)歷從低級到高級,從簡單到復(fù)雜的這么一個過程。單片機(jī)軟件開發(fā)也不例外。從最初的只能用匯編寫,到現(xiàn)在可以使用C來寫代碼,再到可以使用C 來寫代碼,再發(fā)展到現(xiàn)在可以使用腳本(Python)來寫.無不是多少軟件硬件工程師努力的結(jié)果,其目的只有一個:就是希望簡化單片機(jī)開發(fā)難度,提高單片機(jī)開發(fā)效率。

我們再來看單片機(jī)的發(fā)展,從最初的4位機(jī),到8位機(jī),到16位機(jī),再到現(xiàn)在普遍使用的32位機(jī),單片機(jī)的硬件也是超來超復(fù)雜,寄存器也從原來的十幾個到二十幾,三十機(jī)到現(xiàn)在的近百個。剛開始編程可以使用寄存器,我們能記住那么區(qū)區(qū)幾個寄存器,可是越到后面寄存器越來越多,我們已經(jīng)無法記住所有寄存器的使用方法。但是我們?nèi)祟愂锹斆鞯膭游铮覀儠偨Y(jié)過去的經(jīng)驗(yàn),把一些比較模式化的寄存器操作封裝成一個一個的函數(shù),而且起一個比較直觀的名字。以后使用的時(shí)候,我們只需要調(diào)用一下以前總結(jié)的函數(shù),不用一句一句的寫寄存器了。庫函數(shù)就這樣誕生了。哇,人類又向前邁進(jìn)了一步。。。

接下來我們再來看看軟件的發(fā)展,現(xiàn)在比較流行的Arduino,為什么能火起來?ARM為會么要致力推廣Mbed?為什么單片機(jī)也要跑操作系統(tǒng)?回答這個問題我們先得了解下Arduion和Mbed,使用過這兩個系統(tǒng)的人都會為它們的簡單而折服,我不需要有很深的單片機(jī)知識,我一樣能讓我的四軸飛行器飛上天,一樣能讓兩輪平衡車站起來,我只需要有數(shù)學(xué)知識和一點(diǎn)點(diǎn)電路知道就夠了。這就是Arduion和Mbed努力的目標(biāo)。就是因?yàn)檐浖こ淘絹碓綇?fù)雜,一個人的能力是有限的,所以我們要分工合作,熟悉低層的人可以來寫低層驅(qū)動。熟悉算法,但對低層不熟悉的人可以來寫上層業(yè)務(wù)算法,術(shù)業(yè)有專攻這樣豈不更好。庫函數(shù)是對寄存器操作的封裝,而Arduion和Mbed在庫函數(shù)的基礎(chǔ)上更進(jìn)一步抽象,使得單片機(jī)也面向?qū)ο?,更符合人們認(rèn)識事物的邏輯。哦還忘了說一個最重要的使用Arduion和Mbed寫出來的程序,移植性更好。雖然現(xiàn)在MSP430還只是發(fā)展到庫函數(shù),但是總有一天也會像Arduion和Mbed看齊,我希望看到那一天的到來。

總結(jié)在單片機(jī)硬件越來越復(fù)雜,性能越來越強(qiáng)的情況下,我們會優(yōu)先選擇開發(fā)更為簡單點(diǎn)的方式,在能滿足要求的前提下,我們應(yīng)該優(yōu)先選擇Arduion和Mbed,然后是庫函數(shù),最后才是寄存器。當(dāng)然使用Arduion和Mbed的同時(shí)我會穿插使用庫函數(shù),使用庫函數(shù)的同時(shí)我也會穿插使用寄存器,也并不是那么絕對。既然人類已經(jīng)進(jìn)入了信息化工業(yè)時(shí)代,我們?yōu)槭裁捶且氐绞鲿r(shí)代呢?

jishuaihu:

個人其實(shí)更喜歡用寄存器來操作各類MCU,430當(dāng)然也不例外,好處嘛,當(dāng)然就是能夠更清晰的了解內(nèi)部寄存器的結(jié)構(gòu),理解每一個制定的具體意義,這樣基本上可以確保不會有多余的操作步驟,對于一些有嚴(yán)格操作順序的寄存器,在學(xué)習(xí)寄存器的定義的時(shí)候肯定也就注意到了,避免了誤操作之后再去找原因。同時(shí),使用寄存器操作的代碼文本量一般回小一些,執(zhí)行效率一般也會高一些。不過呢,使用寄存器操作的缺點(diǎn)就更多了,首先就是意義不明確,時(shí)間稍微一長就記不清到底表示說明意思了,為了解決這個問題,不得不去寫一大堆注釋,或者弄一大堆宏定義來表示寄存器的意義。其次,使用寄存器操作在跨平臺移植的時(shí)候也很麻煩,上述的工作又得重新來一遍,在更好新平臺之前需要重新了解一遍寄存器,并且都更改了。

話說回來,喜歡歸喜歡,但我現(xiàn)在大多時(shí)候也在用庫函數(shù),意義明確,使用方便,移植也方便,穩(wěn)定性也比較好。至于效率低的問題,對于現(xiàn)在性能不斷提升的MCU來說已經(jīng)不算說明問題了。誰也不會把芯片的性能用到極致,否則升級的時(shí)候可能就麻煩了。

最終觀點(diǎn),實(shí)際使用的話更推薦使用庫函數(shù)的方式,但喜歡以學(xué)習(xí)為主的童鞋們多了解一下寄存器的知識,這樣對理解芯片的核心部分有好處。

yaoyuanytu:

個人感覺還是庫函數(shù)比較方便些 理由1.庫函數(shù)比較直觀,方便簡單集成度高 初學(xué)時(shí)候比較容易掌握各個需要的功能直接調(diào)用,省去了編寫大量基礎(chǔ)操作指令 理由2:庫函數(shù)比較整齊簡化,方便移植和交叉使用 理由3:寄存器指令雖然是最底層最核心的東西,但是需要的時(shí)候需要大量的基礎(chǔ)操作,勢必會增加工作量。

mark86739851:

如果要求實(shí)時(shí)性比較嚴(yán)苛的地方直接操作寄存器是比較節(jié)省時(shí)間的,如果這時(shí)候用一大堆庫函數(shù)就不太合適了,但如果實(shí)時(shí)性要求不高的地方,大可放心的用庫函數(shù),一來能減少工作量,而來能避免出錯,可移植性也大大增強(qiáng)了

wudianjun2001:

個人還是比較喜歡寄存器的,占用的存儲空間少,但用庫的話會省很多事情,閱讀起來也方便,兩者結(jié)合使用,效果更佳

woody_chen:

個人覺得MSP430沒必要用庫編程。

1)430沒有什么復(fù)雜外設(shè)(如USB、Ethernet),寄存器配置起來還是比較簡單的。

2)由于430存儲空間小,不可能像M3一樣寄存器都統(tǒng)一編址。這導(dǎo)致庫不能統(tǒng)一。

我都是參考TI的示例寄存器代碼稍微修改一下。

麻子照鏡子,個人觀點(diǎn)。

飛翔荷蘭人號:

需要自己精確把控的一些內(nèi)部資源,寄存器用起來還是比較順手,但是一些復(fù)雜外設(shè),像UART、USB這些,直接用庫函數(shù)也很好

LeoMe:

初學(xué)的時(shí)候從寄存器 技術(shù)手冊開始會讓你受益匪淺,430是這樣,stm也是這樣,這些簡單的微控制器其實(shí)寄存器布局和外設(shè)控制方式都很相似的(不信你去對比各廠商的timer的寄存器),這對你以后接觸學(xué)習(xí)其他處理器和找硬件bug是很有幫助的

那么到了實(shí)際應(yīng)用中,對于簡單控制應(yīng)用,寄存器 庫函數(shù)結(jié)合起來效率更高,也可以嘗試模仿官方庫函數(shù)自己去寫一些外設(shè)驅(qū)動(學(xué)習(xí)如何標(biāo)準(zhǔn)化接口和傳遞數(shù)據(jù)),如上面的兄弟所說,純寄存器編程有利于壓縮代碼體積和壓縮430喚醒后運(yùn)行的時(shí)間,而遇到高級外設(shè)比如USB,函數(shù)庫幫你跑贏deadline。

說到這個話題,從我接觸16位MCU開始發(fā)現(xiàn)大家都會去糾結(jié)這個問題,特別是剛?cè)腴T甚至還沒入門的兄弟。其實(shí)這就跟論壇里問“現(xiàn)在是學(xué)stm32前景好還是學(xué)DSP好還是學(xué)FPGA前景好”這種問題差不多,有時(shí)間你都學(xué)都接觸一下,自己找最適合自己的,或者找你所在地最好就業(yè)的,去智聯(lián)搜一下相關(guān)職位描述的關(guān)鍵詞試試,會幫你找到自己的答案。

庫函數(shù)和寄存器各自的有點(diǎn)恐怕是一言難以蓋全的,恐怕具體到某一行代碼具體討論都不為過。大方向是你要權(quán)衡1執(zhí)行效率 2編程效率 3可移植性 這三點(diǎn)。我也經(jīng)常鼓勵剛?cè)肟拥男值軅兌鄤邮謩幽X,在過程中自己找答案,而不是遇到問題就開始求助,重要的是解決問題的思路而不是解決問題的結(jié)果,前者才是你將來漲工資的基石。

笑鳥007:

還是,比較支持庫函數(shù),庫函數(shù)容易上手。易讀性、移植性等會更高。另外現(xiàn)在單片機(jī)的運(yùn)行速度,flash等都比以前有了很大的提高,所有利用庫函數(shù)開發(fā)也不要太擔(dān)心執(zhí)行效率的問題(當(dāng)然特殊的要求還是利用寄存器)。當(dāng)然再利用庫函數(shù)的時(shí)候,一定要對寄存器有所了解,才能高效的開發(fā)應(yīng)用。

歡迎點(diǎn)擊閱讀原文參與討論贏取精美實(shí)用禮品。


以上圖文內(nèi)容均是EEWORLD論壇網(wǎng)友:qwerghf原創(chuàng),在此感謝。

歡迎微博@EEWORLD

如果你也寫過此類原創(chuàng)干貨請關(guān)注微信公眾號:EEWORLD(電子工程世界)回復(fù)“投稿”,也可將你的原創(chuàng)發(fā)至:bbs_service@eeworld.com.cn,一經(jīng)入選,我們將幫你登上頭條!

與更多行業(yè)內(nèi)網(wǎng)友進(jìn)行交流請登陸EEWORLD論壇。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號
公眾號
在線咨詢
分享本頁
返回頂部
乌兰察布市| 逊克县| 鹤岗市| 襄垣县| 金塔县| 噶尔县| 房产| 曲麻莱县| 清水河县| 奎屯市| 南通市| 同德县| 兴仁县| 安远县| 霍州市| 平南县| 山阳县| 富蕴县| 鄂州市| 唐海县| 玛纳斯县| 炉霍县| 长葛市| 开封县| 翼城县| 永修县| 龙海市| 罗甸县| 望都县| 延长县| 湖南省| 留坝县| 湖口县| 阳谷县| 石景山区| 望江县| 东乌珠穆沁旗| 新宁县| 虎林市| 太湖县| 卢湾区|