这是用到的几个函数
int main(void)
{
Systemclock_config();
nvic_config();
gpio_config();
spi2_config();
timer_config();
System_cnt_init();
while(1)
{
Task_time_slice_function();
}
}
/* time0 20kHz*/
void TIMER0_UP_IRQHandler(void)
{
if(SET == timer_interrupt_flag_get(TIMER0, TIMER_INT_UP))
{
timer_interrupt_flag_clear(TIMER0, TIMER_INT_FLAG_UP);
System_cnt_add();
}
}
void Task_time_slice_function(void)
{
/* 1ms */
if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_1ms) >= systemclock_data.systemclock_cnt_1ms)
{
systemclock_data.systemclock_lastcnt_1ms = systemclock_data.systemclock_cnt;
led_main();
}
/* 10ms */
if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_10ms) >= systemclock_data.systemclock_cnt_10ms)
{
systemclock_data.systemclock_lastcnt_10ms = systemclock_data.systemclock_cnt;
}
/* 100ms */
if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_100ms) >= systemclock_data.systemclock_cnt_100ms)
{
systemclock_data.systemclock_lastcnt_100ms = systemclock_data.systemclock_cnt;
}
/* 1000ms */
if(_abs(systemclock_data.systemclock_cnt - systemclock_data.systemclock_lastcnt_1000ms) >= systemclock_data.systemclock_cnt_1000ms)
{
systemclock_data.systemclock_lastcnt_1000ms = systemclock_data.systemclock_cnt;
}
}
|