1、xs128 PIT其实很简单,就是两个8位小定时器,4个16位定时器,然后16位的定时器是在8位小定时器的基础上再去调整的。
2、很奇葩也很重要的一点,在清除定时器中断标志位PITTF时若用位寻址是会出错的,这点datasheet上也没提及。
//--------------------- 定时器 -----------------------
void PIT_Init(void)
{
PITCFLMT_PITE = 0; // 关闭PIT通道使能
PITCE_PCE0 = 1; // 定时器通道0使能
PITCE_PCE1 = 1; // 定时器通道1使能
PITMUX_PMUX0 = 0; // 相应16位定时器0与微时基0连接
PITMUX_PMUX1 = 0; // 相应16位定时器1与微时基0连接
PITMTLD0 = 200 - 1; // 8位定时器0初值设定
// 200分频,在80MHzBusClock下,为0.4MHz。即2.5us
PITLD0 = 4 - 1; // 16位定时器0初值设定。
// 定时 PITMTIME*4=2.5us*4=10us
PITLD1 = 10000 - 1; // 16位定时器1初值设定。
// 定时 PITMTIME*4000=2.5us*10000=25ms
PITINTE_PINTE0 = 1; // 定时器0中断通道0中断使能
PITINTE_PINTE1 = 1; // 定时器1中断通道0中断使能
PITCFL