Hi Edward,
I tried to use the following registers:
/*** CRGFLG - CRG Flags Register; 0x00000037 ***/
typedef union {
byte Byte;
struct {
byte SCM :1; /* Self-clock mode Status */
byte SCMIF :1; /* Self-clock mode Interrupt Flag */
byte TRACK :1; /* Track Status */
byte LOCK :1; /* Lock Status */
byte LOCKIF :1; /* PLL Lock Interrupt Flag */
byte LVRF :1; /* Low Voltage Reset Flag */
byte PORF :1; /* Power on Reset Flag */
byte RTIF :1; /* Real Time Interrupt Flag */
} Bits;
} CRGFLGSTR;
/*** CRGINT - CRG Interrupt Enable Register; 0x00000038 ***/
typedef union {
byte Byte;
struct {
byte :1;
byte SCMIE :1; /* Self-clock mode Interrupt Enable */
byte :1;
byte :1;
byte LOCKIE :1; /* Lock Interrupt Enable */
byte :1;
byte ILAF :1; /* Illegal Address Reset Flag */
byte RTIE :1; /* Real Time Interrupt Enable */
} Bits;
} CRGINTSTR
I read them on Boot of CPU but the values are always the same. :S
The bits are active:
- Track Status
- Lock Status
- PLL Lock Interrupt Flag
- Low Voltage Reset Flag
- Power on Reset Flag
- Illegal Address Reset Flag
Not always the datasheets are correct or easy to read, maybe you know that. Especially when we had short time to develop and fix things.
Best Regards,
Rui Faria