国产毛片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視頻專區
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 我們是Microchip
  • 想要避免發生災難,就用MPLAB SiC電源仿真器!
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人手机在线 | 中文字幕 二区 三区 搜查官 | 久草国产在线播放 | 99视频精品国在线视频艾草 | 久久99精品国产免费观看 | 亚洲综合91社区精品福利 | 中文字幕一区2区3区 | 日本高清在线中文字幕网 | 特级毛片aaaa免费观看 | 国产成人精品免费青青草原app | 色欧美综合| 噜噜噜噜色 | 国产亚洲精品网站 | 少妇太爽了在线观看 | 精品一区 二区三区免费毛片 | 色香视频在线 | 青青草tv | 亚洲专区在线 | 日韩一级一欧美一级国产 | 91大神在线精品视频一区 | 色综合久久久久久久久五月 | 99精品国产自产在线观看 | 国产福利久久青青草原下载 | 中文国产成人精品久久下载 | 亚洲综合日韩中文字幕v在线 | 中文字幕二区三区 | 精品在线播放视频 | 丁香六月久久 | 国产精品毛片在线完整版sa | 10000拍拍18勿入免费视频| 久久青青国产 | 亚洲毛片免费观看 | 国产精品久久香蕉免费播放 | 九九九九精品视频在线播放 | 久久久男人天堂 | 你操综合| 国产精品真实对白精彩久久 | 欧美3p在线观看一区二区三区 | 国产视频日韩 | 日韩欧美视频一区二区三区 | 正在播放亚洲一区 |