Hi,
I have written a whole programme which is basically a data transmitting and receiving like SPI by driving pin manually(not usnig the spi module). so, when i configure the clock like setting 24 mhz DCO and taking it divided by 2 for MCLK (12MHZ)and SMCLK(12MHZ), The program is running good. But whenever i make the clock 16 mhz @ DCO and taking MCLK and SMCLK . The program getting totaly dead . not anything working.
___________________________________________________________________________________________________________________________
register for 12 mhz clk:
PJSEL0 |= BIT4 | BIT5;//selection for low frequesncy crystal oscllitor in and out pin configuration
// Setup XT1
CSCTL0_H = CSKEY >> 8; // Unlock CS registers
CSCTL1 = DCOFSEL_6|DCORSEL; // Set DCO to 24MHz
CSCTL2 = SELA__LFXTCLK | SELS__DCOCLK | SELM__DCOCLK; // set ACLK = XT1;SMCLK= MCLK = (DCO/2)=(16MHz/2)
CSCTL3 = DIVA__1 | DIVS__2 | DIVM__2; // Set all dividers
CSCTL4 &= ~LFXTOFF;
do
{
CSCTL5 &= ~LFXTOFFG; // Clear XT1 fault flag
SFRIFG1 &= ~OFIFG;
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
CSCTL0_H = 0;
__________________________________________________________________________________________________________________________
register setiing for 16 mhz:
PJSEL0 |= BIT4 | BIT5;//selection for low frequesncy crystal oscllitor in and out pin configuration
// Setup XT1
CSCTL0_H = CSKEY >> 8; // Unlock CS registers
CSCTL1 = DCOFSEL_4|DCORSEL; // Set DCO to 16MHz
CSCTL2 = SELA__LFXTCLK | SELS__DCOCLK | SELM__DCOCLK; // set ACLK = XT1;SMCLK= MCLK = (DCO)=(16MHz)
CSCTL3 = DIVA__1 | DIVS__1 | DIVM__1; // Set all dividers
CSCTL4 &= ~LFXTOFF;
do
{
CSCTL5 &= ~LFXTOFFG; // Clear XT1 fault flag
SFRIFG1 &= ~OFIFG;
}while (SFRIFG1&OFIFG); // Test oscillator fault flag
CSCTL0_H = 0;
________________________________________________________________________________________________________________________
if the clock setting is okay then when i am togging a pin regardless of any delay alone
while(1)
{
P1OUT^=BIT0;
}
the pin is not toggling as i seen it in the digital oscilloscope.
i found that the phe pins out put at low does not going to zero volt lvl before going to high lvl.
thanking you