主题中讨论的其他器件:MSP-TS430PZ100AUSB
我已经尝试设置时钟、但我一直得到 UCSCTL7.XT2OFFG=1 (XT2上的 Falt 错误)。
WDTCTL = WDTPW | WDTHOLD;//禁用看门狗
CTSD16CCTL0 |= CTSD16SC;//针对 CTSD16OFFG 勘误表的权变措施
操作
{
CTSD16CTL &=~CTSD16OFFG;
} while (CTSD16CTL&CTSD16OFFG);// CTSD16OFFG 结束变通办法
while (BAKCTL 和 LOCKBAK){//解锁 XT1引脚以进行操作
BAKCTL &=~(LOCKBAK);
}
UCSCTL6 &=~(XT1OFF); // XT1打开
UCSCTL6 |= XCAP_2; //内部负载电容
UCSCTL6 |= XT2OFF; // XT2 关闭
//循环直到 XT1故障标志被清除
操作
{
UCSCTL7 &=~(XT2OFFG | XT1LFOFFG | DCOFFG);//清除 XT2、XT1、DCO 故障标志
SFRIFG1 &=~OFIFG;//清除故障标志
}while (((UCSCTL7 &&(XT2OFFG | XT1LFOFFG | DCOFFG))=0);//振荡器故障标志
UCSCTL6 &=~(XT1DRIVE_3);// XTAL 现在稳定、降低驱动强度
//[系统时钟/FLL+]
UCSCTL0 = 0x0000;
UCSCTL1 = 0x0020;
UCSCTL2 = 0x0079;
UCSCTL3 = 0x0000;
UCSCTL4 = 0x0033;
UCSCTL5 = 0x0000;
UCSCTL6 = 0x0084;
UCSCTL8 = 0x0007;
UCSCTL7 &=~(XT2OFFG | XT1LFOFFG | DCOFFG);
执行{
UCSCTL7 &=~(XT2OFFG | XT1LFOFFG | DCOFFG);//清除 XT2、XT1、DCO 故障标志
SFRIFG1 &=~OFIFG;//清除故障标志
} while (((UCSCTL7 &&)(~(XT2OFFG | XT1LFOFFG | DCOFFG)))=0);//振荡器故障标志
我正在使用 MSP-TS430PZ100AUSB (评估板)、但我不使用 XT2、因此我设置 UCSCTL6.XT2OFF=0、但会发生故障错误。
我无法确定原因。
可以给我一些建议吗?