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

CoX:讓你在ARM編程時得心應手

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

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

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

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

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

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

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

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

廠商推薦

  • Microchip視頻專區
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 為何選擇集成電平轉換?
  • 無線充電基礎知識及應用培訓教程3
  • PIC18-Q71系列MCU概述
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本高清免费观看 | 三面娜迦泰剧全集在线观看 | 四虎精品福利视频精品 | 极品女神视频在线观看 | 印度最猛性xxxxx | 青青自拍视频 | 亚洲岛国 | 国内精品久久久久久久999下 | 中文字幕日本在线观看 | 失乐园在线| 久久综合精品不卡一区二区 | 久草网在线 | 国产大片中文字幕 | 成品人短视频app | 免费一级欧美大片久久网 | 狠狠色狠狠色很很综合很久久 | 欧美一区二区三区视频在线 | 91免费看视频 | 三级网站国产 | 精东影业果冻传媒 | 激情综合网址 | 欧美自拍偷拍视频 | 男女视频在线播放 | 日本黄大片在线观看 | 91免费精品视频 | 91亚洲国产成人精品下载 | 97夜夜澡人人爽人人喊一欧美 | 国产精品午夜高清在线观看 | 国产99久9在线| 亚洲一区二区三区免费在线观看 | 成人欧美一区二区三区黑人妖 | 91视频完整版高清 | 国产成人福利免费观看 | 99热这里只有精品在线播放 | 99热精品在线免费观看 | 亚洲天堂男 | 老司机亚洲精品影院在线观看 | 国产伦久视频免费观看 视频 | 欧美日韩一区二区三区麻豆 | 成人99国产精品 | 国产中出视频 |