2016-01-23 63 views
0

我想使用TTTech庫中的週期性RTC功能,但我有問題 瞭解和使用此功能。我如何傳遞一個函數調用(event_handler)。我必須用這個參數(event_handler)做什麼。使用RTC定期功能(通過事件處理程序)

IO_RTC_PeriodicInit(ubyte2 period,rtc_eventhandler_ptr event_handler);

\簡短的初始化週期定時器

初始化週期定時器

\參數時段期上的事件處理程序被調用。單元:US(500..65535) \參數event_handler函數指針週期性事件處理程序


限定IO_RTC_TICKS_PER_US((IO_DRIVER_SYSTEM_CLOCK)/ 80)

的typedef函數指針爲週期性的事件處理程序中斷處理程序 typedef void(* rtc_eventhandler_ptr)(void);

有沒有人有想法使用該功能?

感謝

回答

1

你必須寫自己的函數,例如,

void maxxfunc(void) 
{ 
    /* Do something here... */ 
} 

然後把它傳遞給API,

IO_RTC_PeriodicInit (100000, maxxfunc); 

這應該調用你的函數10次/秒(每10萬美元一次)。

+0

換句話說,'event_handler'參數需要有一個與'rtc_eventhandler_ptr' typedef匹配的類型簽名。它應該返回'void'並且有參數列表'(void)'。函數指針的C語法'(* func)'很奇怪,但是習慣了。 – jamieguinan