初學(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)前定時(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頻率一半,常見為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等較為簡單,不再詳述
-
Xilinx
+關(guān)注
關(guān)注
71文章
2172瀏覽量
122266 -
SDK
+關(guān)注
關(guān)注
3文章
1047瀏覽量
46328
發(fā)布評論請先 登錄
相關(guān)推薦
評論