初學(xué)Xilinx SDK的開發(fā),下面記錄使用到的API函數(shù)及自己的理解。若有誤,還請指教。
1、XScuTimer_Config *XScuTimer_LookupConfig(u16 DeviceId)
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_LookupConfig | 查詢ID對應(yīng)的設(shè)備配置信息 |
參數(shù)1 | u16 DeviceId | timer對應(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)前定時器配置列表的指針
////////////////////////////////////////////////////
2、s32 XScuTimer_CfgInitialize(XScuTimer *InstancePtr,XScuTimer_Config *ConfigPtr, u32 EffectiveAddress)
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_CfgInitialize | 初始化timer |
參數(shù)1 | XScuTimer *InstancePtr | 指向timer實例的指針 |
參數(shù)2 | XScuTimer_Config *ConfigPtr | 指向配置結(jié)構(gòu)體的指針 |
參數(shù)3 | u32 EffectiveAddress | 設(shè)備的基地址,一般為配置信息的基地址 |
返回值 | s32 | XST_SUCCESS:配置成功;XST_DEVICE_IS_STARTED :定時器已經(jīng)啟動 |
////////////////////////////////////////////////////
應(yīng)用舉例
XScuTimer Timer; // 定時器
XScuTimer_Config *ConfigPtr; // 配置信息指針
ConfigPtr = XScuTimer_LookupConfig (XPAR_PS7_SCUTIMER_0_DEVICE_ID);
//得到當(dāng)前定時器配置列表的指針
XScuTimer_CfgInitialize(&Timer, ConfigPtr, ConfigPtr->BaseAddr); //初始化timer
////////////////////////////////////////////////////
3、void XScuTimer_LoadTimer(InstancePtr,Value ) ;
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_LoadTimer | 裝載timer周期 |
參數(shù)1 | InstancePtr | 指向timer實例的指針 |
參數(shù)2 | Value | 裝載值 |
返回值 | void |
////////////////////////////////////////////////////
應(yīng)用舉例
XScuTimer Timer; // 定時器
u32 value = 0x13D92D3F; // 定時1s
XScuTimer_LoadTimer(&Timer, value);
////////////////////////////////////////////////////
另,關(guān)于value和定時周期的計算有如下公式:
定時時間=[(預(yù)分頻器值 + 1)(加載值 + 1)]/定時器頻率
一般私有定時器頻率為CPU頻率一半,常見為333MHz。若需要定時1s,則
加載值=1s*(333*1000000)*(1/s) - 1 = 0x13D92D3F
////////////////////////////////////////////////////
4、int XScuTimer_IsExpired(XScuTimer *InstancePtr)
名稱 | 代碼 | 解釋 |
---|---|---|
函數(shù)名 | XScuTimer_IsExpired | 查詢timer是否計數(shù)滿 |
參數(shù)1 | XScuTimer *InstancePtr | 指向timer實例的指針 |
返回值 | int | TRUE or FALSE |
其他比如XScuTimer_EnableAutoReload、XScuTimer_Start等較為簡單,不再詳述
-
Xilinx
+關(guān)注
關(guān)注
73文章
2179瀏覽量
123853 -
SDK
+關(guān)注
關(guān)注
3文章
1057瀏覽量
47254
發(fā)布評論請先 登錄
相關(guān)推薦
評論