Post Go back to editing

ADuC7126: if it is possible use dual UART with external memory access enable?

enable external memory access, but only use 8-bit A/D bus, whether  I can define P4.0/1 as UART1?

  • This depends of the required address range and data word width for the external memory.

    If you only need 8-bit data and a small address range, than you can use this pin's as SIN1 and SOUT1 for the second UART.

  • hi, i meet same problem too...

    (1)P2.3 set as GPIO input and P4.0 set as UART1 SIN1

        when P2.3 input low, UART1 Rx interrupt occur, and P4.0 no response

        but when P2.3 input high, P4.0 operate normal (can receive RS232 data)


    or


    (1)P2.3 set as GPIO output and P4.0 Set as UART1 SIN1

        when P2.3 output low, UART1 Rx interrupt occur, and P4.0 no response

        but when P2.3 output high, P4.0 operate normal (can receive RS232 data)


    here is the GPIO setting code.

    please help me to comfirm and solve this problem

    thanks.


    //set P2.3 = GPIO input

    GP2CON &= ~(0x0000f000);

    GP2CON |= 0x00000000;

    GP2DAT &= ~GPIObit3;

     

    //UART1

    COM1CON0 = BIT7;

    COM1DIV0 = 0x3C; 

    COM1DIV1 = 0x00;

    COM1DIV2 = ((0x1<<15) & (0x01<<15)) | ((2<<11) & (0x03<<11)) | (546 & 0x3FF);

    COM1CON0 = BIT0 + BIT1 + BIT2;

    COM1IEN0 = BIT0 + BIT1;      

    GP4CON &= ~(0x000000ff);

    GP4CON |= 0x00000011;

    IRQEN |= UART1EN;

  • Hi,

    This looks to be a real issue and has been confirmed in design.

    We are looking at some potential workarounds - we will post a more detailed reply in a few days.

  • When P4.0 & P4.1 are set up as UART1 pins, it is only possible to receive data when P2.3 is high.

    P2.3 can be configured as an output or an input, but its level must be high.

      

    Another workaround is to use P2.3 as SIN1 function instead of P4.0. P4.1 can remain as SOUT1

    P4.0 can be used as a GPIO (with P4.0 high or low and set up as input or output - full flexibility allowed on P4.0 as a GPIO).

    Unfortunately, this workaround is not good if P2.3 is intended to be used as a GPIO or external memory AE function.

     

    these are the only workarounds possible.

    We will update the published datasheet very shortly.