初學(xué)Xilinx SDK的開(kāi)發(fā),下面記錄使用到的API函數(shù)及自己的理解。若有誤,還請(qǐng)指教。
1、XScuTimer_Config *XScuTimer_LookupConfig(u16 DeviceId)
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_LookupConfig | 查詢ID對(duì)應(yīng)的設(shè)備配置信息 |
參數(shù)1 | u16 DeviceId | timer對(duì)應(yīng)的設(shè)備ID,在xparameter.h中定義 |
返回值 | XScuTimer_Config | 指向給定ID設(shè)備的配置類表的指針 |
////////////////////////////////////////////////////
應(yīng)用舉例
XScuTimer_Config *ConfigPtr;
ConfigPtr = XScuTimer_LookupConfig (XPAR_PS7_SCUTIMER_0_DEVICE_ID);
//得到當(dāng)前定時(shí)器配置列表的指針
////////////////////////////////////////////////////
2、s32 XScuTimer_CfgInitialize(XScuTimer *InstancePtr,XScuTimer_Config *ConfigPtr, u32 EffectiveAddress)
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_CfgInitialize | 初始化timer |
參數(shù)1 | XScuTimer *InstancePtr | 指向timer實(shí)例的指針 |
參數(shù)2 | XScuTimer_Config *ConfigPtr | 指向配置結(jié)構(gòu)體的指針 |
參數(shù)3 | u32 EffectiveAddress | 設(shè)備的基地址,一般為配置信息的基地址 |
返回值 | s32 | XST_SUCCESS:配置成功;XST_DEVICE_IS_STARTED :定時(shí)器已經(jīng)啟動(dòng) |
////////////////////////////////////////////////////
應(yīng)用舉例
XScuTimer Timer; // 定時(shí)器
XScuTimer_Config *ConfigPtr; // 配置信息指針
ConfigPtr = XScuTimer_LookupConfig (XPAR_PS7_SCUTIMER_0_DEVICE_ID);
//得到當(dāng)前定時(shí)器配置列表的指針
XScuTimer_CfgInitialize(&Timer, ConfigPtr, ConfigPtr->BaseAddr); //初始化timer
////////////////////////////////////////////////////
3、void XScuTimer_LoadTimer(InstancePtr,Value ) ;
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_LoadTimer | 裝載timer周期 |
參數(shù)1 | InstancePtr | 指向timer實(shí)例的指針 |
參數(shù)2 | Value | 裝載值 |
返回值 | void |
////////////////////////////////////////////////////
應(yīng)用舉例
XScuTimer Timer; // 定時(shí)器
u32 value = 0x13D92D3F; // 定時(shí)1s
XScuTimer_LoadTimer(&Timer, value);
////////////////////////////////////////////////////
另,關(guān)于value和定時(shí)周期的計(jì)算有如下公式:
定時(shí)時(shí)間=[(預(yù)分頻器值 + 1)(加載值 + 1)]/定時(shí)器頻率
一般私有定時(shí)器頻率為CPU頻率一半,常見(jiàn)為333MHz。若需要定時(shí)1s,則
加載值=1s*(333*1000000)*(1/s) - 1 = 0x13D92D3F
////////////////////////////////////////////////////
4、int XScuTimer_IsExpired(XScuTimer *InstancePtr)
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_IsExpired | 查詢timer是否計(jì)數(shù)滿 |
參數(shù)1 | XScuTimer *InstancePtr | 指向timer實(shí)例的指針 |
返回值 | int | TRUE or FALSE |
其他比如XScuTimer_EnableAutoReload、XScuTimer_Start等較為簡(jiǎn)單,不再詳述
-
Xilinx
+關(guān)注
關(guān)注
73文章
2185瀏覽量
125363 -
SDK
+關(guān)注
關(guān)注
3文章
1077瀏覽量
49108
發(fā)布評(píng)論請(qǐng)先 登錄
SDK、API、Open API有什么區(qū)別(iot開(kāi)發(fā)平臺(tái))
SDK、API、Open API有什么區(qū)別(iot開(kāi)發(fā)平臺(tái))
OpenHarmony 應(yīng)用開(kāi)發(fā)SDK、API 與基礎(chǔ)工具
Nios_ii_API常用函數(shù)解析
Android開(kāi)發(fā)手冊(cè)—API函數(shù)詳解

基于Android開(kāi)發(fā)手冊(cè)—API函數(shù)詳解

評(píng)論