Hi Everyone,
I am refering to design reference DRM093.PDF which uses an AW60 and have shown only the code of interest below:
void TIMER1_TOF_ISR(void) {
byte dummy_read;
...
if (ModifyFreq){
TPM1MOD = ColorTMOD[Freq]; <---------------- defined as a word array
}
...
dummy_read = TPM1SC;
TPM1SC_TOF =0; // clear TOF flag
}
I have created the same interrupt with the following init code for an QE8:
TPM1C2V = 0x0;
TPM1MOD = 33333 - 1;
TPM1C2SC = 0x3C; // edge PWM
TPM1SC = 0x4B; // Prescaler 8, bus clock
However, if with ModifyFreq set and ColorTMOD[Freq] containing a 16 bit value, say 5000 decimal, TPM1MOD doesn't update with the new value. I have tried writing it as two 8 bit values, high then low but TPM1MOD still doesn't update.
Does anyone have any ideas please?
Thanks very much in advance,
Ian