我正在使用 xmega Atxmega32A4u,
如本示例所示XMega Timer 和 Microseconds我试过了,但我无法生成 1us 来切换引脚。
请指导我获得1us的延迟。
我想将此计时器与 1wire 协议一起使用。
#define OUTFREQ 120000L
static void Timer_OW_ISR(void)
{
gpio_toggle_pin(OW_READER);
}
void Timer_Init_OW(void)
{
tc_enable(&TCC2);
tc_set_overflow_interrupt_callback(&TCC2, Timer_OW_ISR);
tc_set_wgm(&TCC2, TC_WGMODE_FRQ_gc);
tc_write_period(&TCC2, sysclk_get_per_hz() / (64L*2L*OUTFREQ) - 1);
}
void Start_Timer_OW(void)
{
tc_write_clock_source(&TCC2, TC2_CLKSEL_DIV1_gc);
}
在主函数中我调用 Timer_OW_ISR() 函数