|
如何用32768HZ的XT1或16M的XT2产生50M以上的高频时钟信号提高TFT刷新频率,避免闪屏
[复制链接]
板子是msp430F5438系列,由于使用TFT做波形显示的时候会产生闪屏,所以想产生高频信号,提高TFT显示屏的刷新率。我按照TI历程该参数的时候
XT1部分程序:
void Init_CLK(void)
{
P7SEL |= 0x03 ; // 端口选择外部低频晶振XT1
UCSCTL6 &=~XT1OFF ; // 使能外部晶振
UCSCTL6 |= XCAP_3 ; // 设置内部负载电容
UCSCTL3 |= SELREF_2 ; // DCOref = REFO
UCSCTL4 |= SELA_0 ; // ACLK = XT1
__bis_SR_register(SCG0) ; // 关闭FLL控制回路
UCSCTL0 = 0x0000 ; // 设置DCOx, MODx
UCSCTL1 = DCORSEL_7 ; // 设置DCO振荡范围
UCSCTL2 = FLLD__1+FLL_FACTOR ; // Fdco = ( FLL_FACTOR + 1)×FLLRef = (649 + 1) * 32768 = 21.2992MHz
__bic_SR_register(SCG0) ; // 打开FLL控制回路
__delay_cycles(1024000) ;
do
{
UCSCTL7 &=~(XT2OFFG+XT1LFOFFG+XT1HFOFFG+DCOFFG) ; // 清除 XT2,XT1,DCO 错误标志
SFRIFG1 &=~OFIFG ;
}while(SFRIFG1&OFIFG) ; // 检测振荡器错误标志
}
我把FLL_FACTOR ,DCORSEL_7 ,DCOx, DCORSEL,进行分别设置为FLL_FACTOR 1525,DCOx=31,DCORSEL_6,发现程序要么停留在__delay_cycles(1024000) ,
要么就出现错误:
The stack pointer for stack 'Stack' is outside the stack range...
所以想请问一下怎么用32768Hz的XT1或者16M的XT2来编写高频时钟信号
|
|