Hello, I have a problem with running my QE4 with external crystal (I have tried 11.0592MHz / 8MHz / 4MHz - different packages and manufacturers)
My code:
ICSC2_BDIV = 0b10;
ICSC2_RANGE = 1;
ICSC2_HGO = 1;
ICSC2_LP = 0;
ICSC2_EREFS = 1;
ICSC2_ERCLKEN = 0;
ICSC2_EREFSTEN = 0;
while ( ICSSC_OSCINIT == 0 );
ICSC1_CLKS = 0b10;
ICSC1_RDIV = 3;
ICSC1_IREFS = 0;
ICSC1_IRCLKEN = 0;
ICSC1_IREFSTEN = 0;
Problem is that program freez on while condition - crystal is not running. I use standart connection to XTAL and EXTAL pins with 22p capacitors and 1MR resistor.
Any suggestion what is wrong?
Thx
解決済! 解決策の投稿を見る。
I just run my QE with 6MHz crystal in FBELP mode by this code:
// *** FBELP MODE ***
// 6MHz Crystal
// Fbus = ( Fext * 1 / BDIV ) / 2
ICSC2_BDIV = 0b00; // selected clock / 1
ICSC2_RANGE = 1; // high range select
ICSC2_HGO = 0; // low power
ICSC2_LP = 1; // FLL disabled
ICSC2_EREFS = 1; // oscillator request
ICSC2_ERCLKEN = 0;
ICSC2_EREFSTEN = 0;
for ( i=0 ; i<1000 ; i++ );
//while ( ICSSC_OSCINIT == 0 );
ICSC1_RDIV = 0b111; //
ICSC1_IREFS = 0;
ICSC1_IRCLKEN = 0;
ICSC1_IREFSTEN = 0;
ICSC1_CLKS = 0b10; // external reference clock selected
I am still quite confused by this many modes of operation, and fact that in FBELP mode BDC should not be active, but I have full functional debuging (code step, breakpoint, periodical RAM readouts ...)
Hello,
Are you attempting to use FEE mode or FBE mode - there is some ambiguity?
For FEE mode and RDIV setting of 3 (reference division by 256), only the 8 MHz will work. A lower division setting would be required for the 4 MHz crystal. The 11.0592 MHz crystal is unsuited to FEE mode.
You could also try commenting out the wait loop for the OSCINIT flag.
Regards,
Mac
Hello Mac,
I am following the "Using the Internal Clock Source (ICS) for the HCS08 Microcontrollers" chapter in HCS08QRUG.pdf and I was trying to run in this FBE.
I was also using wait loop like this for ( i=0 ; i<10000 ; i++ );
And also I modified my layout and move 22p capacitors very close to crystal and each other.
But franklly i will be glad for any mode runnig with crystal - because i already try several crystals and many of code.
Thx
I just finish working on QE with 32,768kHz crystal, but another fail. Code for FEE and 32kHz here:
// Fbus = ( Fext / RDIV * 512 / BDIV ) / 2
ICSC2_BDIV = 0b01; // selected clock / 2
ICSC2_RANGE = 0; // low range select
ICSC2_HGO = 1;
ICSC2_LP = 0;
ICSC2_EREFS = 1; // oscillator request
ICSC2_ERCLKEN = 0;
ICSC2_EREFSTEN = 0;
//for ( i=0 ; i<10000 ; i++ );
while ( ICSSC_OSCINIT == 0 );
ICSC1_RDIV = 0; // div by 1
ICSC1_IREFS = 0;
ICSC1_IRCLKEN = 0;
ICSC1_IREFSTEN = 0;
ICSC1_CLKS = 0b00; // output from FLL
my QE is still without clock from external crystal ...
I just run my QE with 6MHz crystal in FBELP mode by this code:
// *** FBELP MODE ***
// 6MHz Crystal
// Fbus = ( Fext * 1 / BDIV ) / 2
ICSC2_BDIV = 0b00; // selected clock / 1
ICSC2_RANGE = 1; // high range select
ICSC2_HGO = 0; // low power
ICSC2_LP = 1; // FLL disabled
ICSC2_EREFS = 1; // oscillator request
ICSC2_ERCLKEN = 0;
ICSC2_EREFSTEN = 0;
for ( i=0 ; i<1000 ; i++ );
//while ( ICSSC_OSCINIT == 0 );
ICSC1_RDIV = 0b111; //
ICSC1_IREFS = 0;
ICSC1_IRCLKEN = 0;
ICSC1_IREFSTEN = 0;
ICSC1_CLKS = 0b10; // external reference clock selected
I am still quite confused by this many modes of operation, and fact that in FBELP mode BDC should not be active, but I have full functional debuging (code step, breakpoint, periodical RAM readouts ...)