我在写PIT的时候,发现了一问题。
中断服务函数如下:
void pit0_isr()
{
GPIOC_PTOR |= GPIO_PDOR_PDO(GPIO_PIN(18));
PIT_T标志寄存器0 |= PIT_T标志寄存器_TIF_MASK;
}
发现LED灯不闪烁,我认为这样书写是没有问题的。但是就是不闪烁,不过改下如下就可以了:
void pit0_isr()
{
GPIOC_PTOR |= GPIO_PDOR_PDO(GPIO_PIN(18));
PIT_T标志寄存器0 |= PIT_T标志寄存器_TIF_MASK;
asm("nop");
}
这是怎么回事?难怪是清标志位的速度太快了?我主频100M |