RX63N use async. serial with frame error detection


I want to use a serial SCI with 250kBaud for DMX - protocol.

DMX use a break to mark Start of a new DMX-frame. I found no special break detect feature. Instead I want to use the frameing error detection, which should work. The framing error in Interrupt receive mode throws no SCI RX interrupt instead the RX63 throws a ERI group12 Interrupt. And the trouble starts.

my init for ERI Interrupt

IPR(ICU,GROUP12) = 0x07;          // set Int. Priority  to 7

IEN(ICU,GROUP12) = 0x1;          // enable Group12 Int

IR(ICU,GROUP12) = 0x00;          //

ICU.GEN[12].LONG = 0x00000020; // enables SCI5 ERI Int.

the last line set ICU.GEN[12] to 0x20 but after this line the Register is read with 0x20000000 in the debugger I/O view

so it sets Bit 29 but Bit 29 is undefined ???

the intrerrupts works a frame ERROR throws group12 Interrupt. But If you try to set register correct to 0x20 again no more working

also in debugging pause the program the interrupt group12 is never thrown again

can somebody give me some ideas how to handle this group12 Interrupts and why is Bit29 not defined but set with

ICU.GEN[12].LONG = 0x00000020;

Thanks Klaus

  • Hi Klaus,

    maybe this workaround helps:

    Poll and handle the FER bit in the RXI service routine. This should work because the RXI flag is

    also set in case of the framing error. Please be aware that when the FER flag "is being set to 1,

    the subsequent receive data is not transferred to RDR".

    Viel Erfolg