女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]Motorola的SDK(Soft wareDevelopment Kit)是從DSP56800的Metrowerks CodeWarrior開發(fā)工具中發(fā)展而來的,SDK是一個(gè)API(Application Prograrmming Inter—face)、庫、服務(wù)、規(guī)則的集合體。

    Motorola的SDK(Soft wareDevelopment Kit)是從DSP56800的Metrowerks CodeWarrior開發(fā)工具中發(fā)展而來的,SDK是一個(gè)API(Application Prograrmming Inter—face)、庫、服務(wù)、規(guī)則的集合體。它為DSP56800系列芯片的開發(fā)應(yīng)用提供了一個(gè)很好的平臺(tái),使得開發(fā)者可以脫離硬件的束縛,在軟件仿真的環(huán)境下進(jìn)行開發(fā),縮短產(chǎn)品進(jìn)入市場(chǎng)的周期。SDK使得開發(fā)者對(duì)設(shè)備的操作就象對(duì)文件的操作一樣,非常方便。
    下面是筆者在開發(fā)應(yīng)用DSP56F807芯片過程中使用SDK對(duì)其開發(fā)操作的一點(diǎn)經(jīng)驗(yàn)。


1 對(duì)SDK中API函數(shù)的總體認(rèn)識(shí)
    使用API函數(shù)對(duì)片上集成模塊進(jìn)行操作時(shí)一般會(huì)經(jīng)過以下過程。
    ①在初始化配置文件appconfig.h中設(shè)置設(shè)備初始化的一些參數(shù),這些參數(shù)的設(shè)定會(huì)影響片上設(shè)備的操作,甚至影響設(shè)備是否能夠成功打開返回正確的設(shè)備句柄。 
    ②打開所要操作的設(shè)備,獲得返回的設(shè)備句柄,供進(jìn)一步的操作使用。
    ③根據(jù)設(shè)備句柄,對(duì)設(shè)備進(jìn)行操作。
    ④關(guān)閉設(shè)備。
    不管對(duì)哪些片上設(shè)備進(jìn)行操作,都將經(jīng)過上面的幾個(gè)步驟。下面介紹主要使用的API函數(shù)。
(1)open函數(shù)
    open(參數(shù)1,參數(shù)2,參數(shù)3)。
    參數(shù)1是由SDK定義的設(shè)備名稱,如:BSP—DEVICE—NAME—ADC_O即片上集成的模數(shù)轉(zhuǎn)換模塊。實(shí)際上,這一串字符是有含義的,在SDK的頭文件中有一個(gè)稱做bsp.h的頭文件,在這里面定義了各個(gè)片上模塊的名稱,所以會(huì)以BSP—DEVICE—NAME打頭,當(dāng)然這不是絕對(duì)的,開發(fā)人員也可以定義自己的bsp.h文件,定義自己的設(shè)備名。參數(shù)2標(biāo)識(shí)打開設(shè)備是只讀、只寫還是讀寫。參數(shù)3就是開發(fā)人員定義的初始化參數(shù)的數(shù)組名,對(duì)有些需要初始化的設(shè)備,需要有專門的數(shù)組來存儲(chǔ)初始化的參數(shù)。
    open函數(shù)的作用是打開片上的設(shè)備,當(dāng)打開片上集成設(shè)備成功的話,將返回一個(gè)正數(shù),相反將返回“一1”。一般來說,如果設(shè)備打開不成功,最大的可能是由于初始化的參數(shù)不正確。對(duì)于集成有A/D模塊的芯片來說,剛開始使用的時(shí)候是會(huì)犯這種錯(cuò)誤的。0pen函數(shù)最終會(huì)返回打開設(shè)備的句柄供下面的操作使用。
(2)ioctl函數(shù)
    ioctl(參數(shù)1,參數(shù)2,參數(shù)3)。
    參數(shù)1是open函數(shù)返回的打開設(shè)備的句柄。參數(shù)2是SDK定義的改變?cè)O(shè)備屬性的參數(shù),即是對(duì)設(shè)備進(jìn)行操作的參數(shù)。參數(shù)3是在改變?cè)O(shè)備過程中需要的一些參數(shù)。
    ioctl函數(shù)是SDK中最為重要的函數(shù)之一,它通過對(duì)參數(shù)2的設(shè)定來改變?cè)O(shè)備的屬性,從而對(duì)設(shè)備進(jìn)行操作。表1通過對(duì)A/D操作命令的說明(即參數(shù)2),可以看出這個(gè)函數(shù)的作用。

    由上面可以看出,通過使用這樣的API函數(shù)可以非常方便的對(duì)片上的設(shè)備進(jìn)行操作,避免了對(duì)大量寄存器的煩人操作,大大加快了開發(fā)的速度,減輕了程序員的負(fù)擔(dān)。
(3)close函數(shù)
    close(參數(shù)1)
    參數(shù)1是open函數(shù)返回的打開設(shè)備的句柄。
    close函數(shù)較為簡(jiǎn)單,就是將已經(jīng)打開的設(shè)備關(guān)閉。
    上面是在SDK中最為常用的函數(shù),在使用SDK的過程中也有可能會(huì)遇到和上面功能相同,但表達(dá)式不相同的函數(shù)。


2  對(duì)片上集成模塊操作的注意事項(xiàng)
2.1 對(duì)GPlO口操作

    對(duì)GPIO口的操作除按照用戶手冊(cè)和SDK上的API函數(shù)說明外,還應(yīng)當(dāng)特別注意對(duì)GPl0一X—PER(其中的X代表的是GPl0的A,B,D,E中的任何一組)進(jìn)行初始化操作,即將要操作的對(duì)應(yīng)位置零??梢杂孟旅娴恼Z句,bf—clr#$0004,X:GPIO A PER。
    另外,還必須包括名為56807.h的頭文件,因?yàn)镚PIO一A_PER寄存器的名稱就是在這里定義的,當(dāng)然也可以使用SDK中定義的函數(shù)進(jìn)行初始化。
    如果在對(duì)GPIO口的操作前不對(duì)這個(gè)寄存器進(jìn)行上述初始化,則GPIO口是無法對(duì)外進(jìn)行正常操作的。
2.2 對(duì)ADC的操作
    對(duì)ADC的操作主要是在它初始化載入?yún)?shù)時(shí)進(jìn)行的。如果參數(shù)在初始化時(shí)設(shè)置不對(duì),就很有可能連設(shè)備都不能成功打開。下面舉例來說明在設(shè)置ADC參數(shù)時(shí)應(yīng)當(dāng)注意的地方。
    在DSP56F807上集成有2個(gè)模數(shù)轉(zhuǎn)換器,模數(shù)轉(zhuǎn)換器包括8個(gè)輸入通道和2個(gè)獨(dú)立的采樣保持電路,轉(zhuǎn)換精度為12位。比較可貴的地方是,在每個(gè)模數(shù)轉(zhuǎn)換器的8個(gè)輸入通道中有2個(gè)通道是可以同時(shí)采樣的,這對(duì)有些需要2個(gè)信號(hào)量在同一時(shí)間值下采樣(比如同一時(shí)刻的電壓電流值)的情況是非常有用的。ADC的初始化設(shè)置參數(shù)用了一個(gè)名為adol_sState的數(shù)組來表示。

   
    在上面的參數(shù)中,第一個(gè)參數(shù)的含義是需要進(jìn)行操作的模數(shù)轉(zhuǎn)換通道。第二個(gè)參數(shù)比較重要,當(dāng)時(shí)按照Mo—torola的幫助文檔給出的例子進(jìn)行設(shè)置,結(jié)果A/D始終無法成功的打開,后來發(fā)覺第二個(gè)參數(shù)要參照第一個(gè)參數(shù)的值來設(shè)置,參數(shù)2等于2的打開通道數(shù)的次方,如表2所列。

    筆者試過如果使用這個(gè)函數(shù)而不按表2設(shè)置參數(shù),A/D將無法打開。
    下面給出對(duì)DSP56FS07芯片進(jìn)行A/D操作的簡(jiǎn)單程序。

    

    numread=read(handle,&Result, sizeof(Result);

    //讀取A/D轉(zhuǎn)換數(shù)值   }

2.3對(duì)定時(shí)器的操作
    在使用SDK中的SPI函數(shù)對(duì)定時(shí)器進(jìn)行操作時(shí),如果同時(shí)又在對(duì)quad timer模塊進(jìn)行操作,那么應(yīng)當(dāng)在appconfing.
h中定義:
    #define INCLUDE_IJSER_TIMER_A_x 1
    #define INCLUDE_USER_TIMER_B_x 1
    #define INCLUDE_USER_TIMER_C_x 1
    #define INCLUDE_LISER_TIMER_D_x 1
其中x代表O~4中的一個(gè)定時(shí)器,在缺省的時(shí)候只有TIMER_A是定義為1的,即打開的。如果不對(duì)上面的幾組定時(shí)器進(jìn)行定義,那么在使用SDK定義的CLOCK_AUX3~CLOCK_AUX7時(shí)就可能會(huì)出現(xiàn)一些問題。
2.4對(duì)鎖相環(huán)的操作
    對(duì)鎖相環(huán)系數(shù)的操作應(yīng)當(dāng)在appconfig.h中進(jìn)行,也就是改變鎖相環(huán)的倍數(shù),進(jìn)而可以改變DSP56F807的核心時(shí)鐘和IP時(shí)鐘的頻率,具體的操作方法如下:
    #define PLL_MUL 20
PLL_MUL后面的系數(shù)最大可到50,這是DSP56F807運(yùn)行的極限。
    Motorola推薦的內(nèi)部時(shí)鐘頻率為80 MHz。
2.5對(duì)PWM的操作
    對(duì)PWM的操作可以完全按照手冊(cè)和SDK給出的API函數(shù)進(jìn)行操作,沒有需要特別注意的地方,只是在幫助文檔中有一處有誤,在設(shè)置是否中心/邊沿對(duì)齊方式時(shí),如果是設(shè)置邊沿對(duì)齊方式,參數(shù)應(yīng)該為:PWM_EDG。
2.6對(duì)外部中斷的操作
    由于SDK初始化的時(shí)候是將外部中斷打開的,這有可能使得程序在初始化時(shí)就產(chǎn)生外部中斷,而此時(shí)還未指定中斷服務(wù)程序,這樣便會(huì)出錯(cuò),關(guān)掉外部中斷的方法是在appconfig.h中定義:
    #define BSP_ENABLE_INTERRUPTS O
    對(duì)其他部分的操作都可以按照手冊(cè)和sDK的幫助文檔進(jìn)行,在這里不再詳述了。DSP56F807是一款不錯(cuò)的芯片,筆者在使用SDK對(duì)其開發(fā)應(yīng)用中學(xué)到了很多東西。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉