国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

CoX:讓你在ARM編程時得心應(yīng)手

發(fā)布時間:2012-4-15 18:58    發(fā)布者:sandy2012
關(guān)鍵詞: 編程 , ARM
隨著ARM的發(fā)展越來愈快,應(yīng)用越來越廣泛,現(xiàn)在ARM Cortem M系列已經(jīng)基本走向取代8位、16位MCU的時代。正式因為這樣,推出ARM Cortem M系列CPU的廠商如雨后春筍一般迅速增加。廠商在推出自己產(chǎn)品是無益會在自己的產(chǎn)品中增加各種差異化、特色化功能,然而,這就讓開發(fā)的工程師,在開發(fā)產(chǎn)品時變得比較困難。特別是在產(chǎn)品需要優(yōu)化和升級,更換硬件平臺時。軟件的更換也會變得相當(dāng)復(fù)雜,所以,ARM也推出一些軟件設(shè)計方面的標(biāo)準(zhǔn)-CMSIS,CMSIS統(tǒng)、一了啟動和內(nèi)核相關(guān)的代碼,給出了一個規(guī)范的標(biāo)準(zhǔn),然而,這遠(yuǎn)遠(yuǎn)不夠,一個系統(tǒng)會用到CPU的各種各樣的外設(shè),而這些外設(shè),CMSIS還沒給出明確的標(biāo)準(zhǔn),雖然,在CMSIS 1的后期版本里面做過相關(guān)工作,最后也無疾而終!

幸好CooCox 推出了一個完善的標(biāo)準(zhǔn)——CoX標(biāo)準(zhǔn)。深入了解并研究代碼后發(fā)現(xiàn),CoX不僅很好的實現(xiàn)了廠商的特性,還提出了所有的共性。下面從我體驗RTC來說說CoX給我們帶來的方便!

首先,我從github上面clone了整個的CoX倉庫,關(guān)于git的用法等,這個里面有幫助鏈接,這里就不詳細(xì)去介紹了。

Clone完了之后發(fā)現(xiàn)有許多分支,選擇了NUC1xx的分支,由于我要做個簡單的萬年歷,于是開始研究RTC方面的代碼,發(fā)現(xiàn)API很簡單,發(fā)現(xiàn)就需要先做一個初始化配置并使能相關(guān)中斷就可以用來讀寫時間了,芯唐的RTC實現(xiàn)了一個完整的萬年歷系統(tǒng),可以直接從寄存器讀出年月日時分秒,還有星期。甚至連是否是瑞年也會有標(biāo)志位。用起來很方便!xRTC也是這么定義的,在xtTime的結(jié)構(gòu)體中,包含了年月日時分秒和星期這些元素。但是,我以前用過ST芯片,發(fā)現(xiàn)STM32F1xx系列的RTC只有一個32位數(shù)據(jù)計數(shù)器,應(yīng)該是不能和xtTime所定義的標(biāo)準(zhǔn)相兼容的,正當(dāng)我有此疑惑的時候,我看到另外一個配置宏以及對應(yīng)的兩個API,static unsigned long

xRTCConvertTimeToCounter(xtTime *xtTime) 和static void xRTCConvertCounterToTime(xtTime *xtTime, unsigned long ultimeCounter)。這兩個API的用途就是實現(xiàn)xtTime結(jié)構(gòu)體和數(shù)據(jù)計數(shù)器之間的相互轉(zhuǎn)換的。有了這兩個API,所有的RTC都可以統(tǒng)、一成一種通用的標(biāo)準(zhǔn)——即用統(tǒng)、一的API,用固定格式的數(shù)據(jù)結(jié)構(gòu)(參數(shù)統(tǒng)、一)。于是,我輕松的寫完了一個簡單的例程,對比,CooCox在組件里面上傳的例程,大同小異,不同的是,我全部用CoX接口實現(xiàn)。很簡單的代碼。

在用CoX庫寫代碼時,首先,第一件事情就是配置系統(tǒng)時鐘:
xSysCtlClockSet(48000000, xSYSCTL_OSC_MAIN | xSYSCTL_XTAL_12MHZ);
這個函數(shù)有兩個參數(shù),第一個就是最終需要得到的系統(tǒng)時鐘,第二個參數(shù)是對應(yīng)的配置,如果使用,內(nèi)部時鐘就選xSYSCTL_OSC_INT,使用外部晶振就選xSYSCTL_OSC_MAIN,并“與”上開發(fā)板實際的晶振值。
其次,就是使能和復(fù)位外設(shè):
xSysCtlPeripheralReset(xSYSCTL_PERIPH_RTC);
xSysCtlPeripheralEnable(xSYSCTL_PERIPH_RTC);
如果有管腳的話,就配置相關(guān)管腳:
xSPinTypeUART(UART0RX,PB0);

xSPinTypeUART(UART0TX,PB1);
RTC一般沒有相關(guān)外部管腳,這一步?jīng)]有,上面的是以串口為例說明的。
再次,調(diào)用外設(shè)的初始化函數(shù)、外設(shè)使能函數(shù)、中斷使能和中斷回調(diào)配置等:
xRTCTimeInit();
初始化RTC外設(shè)
xRTCIntCallbackInit(xRTCCallback);
初始化回調(diào)函數(shù)
xRTCIntEnable(xRTC_INT_SECOND);
在外設(shè)層使能中斷
xIntEnable(INT_RTC);
在內(nèi)核層使能中斷
對于RTC的話,還要配置一個初始時間,這個就可以通過xRTCTimeWrite(&tTime1, xRTC_TIME_CURRENT)函數(shù)實現(xiàn)。至此,只用在每次發(fā)生中斷是,用xRTCTimeRead(&tTime1, xRTC_TIME_CURRENT)讀出當(dāng)前的時間就行了!
研究完了RTC代碼發(fā)現(xiàn),CoX代碼真的將各個廠商的差異和共性變現(xiàn)的一覽無余。于是,RTC在應(yīng)用時變得很方便快捷。從一個系列的MCU換到另外一個系列,只需修改基本配置就行了!當(dāng)然RTC只是一個很簡單的外設(shè),要統(tǒng)、一很簡單,下面我會進(jìn)一步研究其他代碼,一步步揭開CoX的神秘面紗!
本文地址:http://m.qingdxww.cn/thread-90244-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人午夜免费完成 | 国产精品v欧美精品∨日韩 国产精品va在线观看一 | 免费精品国偷自产在线读大二 | 日本久久一区二区 | 久久系列 | 国产日韩一区二区三区在线播放 | 七次郎最新首页在线视频 | 日韩在线一区二区三区 | 精品日韩欧美国产一区二区 | 国产一级a毛片高清 | 四虎hk网址 | 美国农夫激情在线综合 | 国产一区二区三区在线看 | 日本久久久久中文字幕 | 乱中年女人伦中文字幕久久 | 国产色综合一区二区三区 | 久久2| 一区二区三区四区在线不卡高清 | 韩日成人 | 柳岩ai换脸被 | 国产三级第一页 | 毛片免费观看的视频在线 | 日本最新新片在线观看免费 | 四虎永久在线精品国产馆v视影院 | 久久综合久 | 亚洲欧美一区二区三区在线播放 | 欧美在线视频二区 | 91热久久免费频精品动漫99 | 插插操操 | 天天曰曰| 久草久草视频 | 欧美一级视频在线 | furry涩涩网站 | 国产对白视频 | 亚洲爱爱天堂 | 日韩一级欧美一级一级国产 | 91热在线 | 亚洲欧美一区二区视频 | 久久久精品免费 | 亚洲视频在线免费 | 蓝月版奥特曼战士版在线 |