This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430f471 and using more than two UARTs

Other Parts Discussed in Thread: MSP430F47197, MSP430F47196, MSP430F2013

I use MSP430f47197 and according to its datasheet I have only two hardware UARTs if I am not mistaken! But I need three!  Is there any way to get around this problem? Can I write a code without using UART ports let's say using P5.5 and P5.6?

http://www.ti.com/lit/ds/symlink/msp430f47196.pdf

  • CaEngineer said:
    I have only two hardware UARTs if I am not mistaken! But I need three

    Well... if you need three hardware UARTs then you can't let 3rd UART magically appear on chip that has only two UARTs.

  • On the other hand, you may be able to implement a Timer assisted software UART at low data-rate (such as 9600 b/s or slower). You should use Timer CC in/out capable pins such as P1.0, P1.1, P1.2, P3.4, P3.5, P3.6, or P3.9.

  • old_cow_yellow said:
    You should use Timer CC in/out capable pins such as P1.0, P1.1, P1.2, P3.4, P3.5, P3.6, or P3.9.

    Can I find examples of such timer on the net? What is a Timer CC?

  • CC = Capture/Compare, you will measure the length between bits (as there is not clock in uart)http://dbindner.freeshell.org/msp430/index.html#_a_uart_receiver

    But I if where you I would look in to solution that did not require the use of a 3rd uart,
    Pretty sure there could be a i2c or spi version of what ever you are using.

    Enlighten us why you need 3 uarts, as any question posted here should have full disclosure of intent and ICs used.

  • Most MSP430 members (404 out of 422) have at least one Timer. Each Timer has a few Capture/Compare (CC) channels. There are numerous examples of "Timer UART" all over, especially for the members (126 out of 422) that do not have hardware UART. These examples work for members with hardware UART as well. I think most of them are simplex or half-duplex. But it is not difficult to implement full-duplex. 

  • CaEngineer said:
    Can I find examples of such timer on the net?

    Yes. In Source Code Examples of chips that noes _not_ contain USCI at all, like msp430f2013.

  • Tony Philipsson said:

    CC = Capture/Compare, you will measure the length between bits (as there is not clock in uart)http://dbindner.freeshell.org/msp430/index.html#_a_uart_receiver

    But I if where you I would look in to solution that did not require the use of a 3rd uart,
    Pretty sure there could be a i2c or spi version of what ever you are using.

    Enlighten us why you need 3 uarts, as any question posted here should have full disclosure of intent and ICs used.

    Good explanation! Well actually as you said hardware solution is a better solution. RS232, RS485, and ANSI port ... I better take RS232 off of the board as it is pointless to use both 232 and 485! Instead of a software solution! Right?

    Or a jumper between RS232 and RS485!

  • CaEngineer said:

    Can I find examples of such timer on the net? What is a Timer CC?

    You can use bit-banging without timer, and you can have unlimited number of soft UART's up to 115200 bps without problems. Problem can be only if you want to have them all ready for receiving all the time, but if you have communication where you exactly know who is sending to who and when, there is no any problems.
  • zrno soli said:

    Can I find examples of such timer on the net? What is a Timer CC?

    You can use bit-banging without timer, and you can have unlimited number of soft UART's up to 115200 bps without problems. Problem can be only if you want to have them all ready for receiving all the time, but if you have communication where you exactly know who is sending to who and when, there is no any problems.

    [/quote]

    I see! Appreciate it!

    P.S.

    MSP430f47197:    

    Timer_A3 is a 16-bit timer/counter with three capture/compare registers. Timer_A3 can support
    multiple
    capture/compares, PWM outputs, and interval timing. Timer_A3 also has extensive interrupt
    capabilities. Interrupts may be generated from the counter on overflow conditions and from each of
    the capture/compare registers. (Page 19

    Timer_B3 is a 16-bit timer/counter with three capture/compare registers. Timer_B3 can support
    multiple
    capture/compares, PWM outputs, and interval timing. Timer_B3 also has extensive interrupt
    capabilities. Interrupts may be generated from the counter on overflow conditions and from each of
    the capture/compare registers.

    )

**Attention** This is a public forum