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.

CCS/TMS320F28335: Can i transmit 16 bit data by uart?

Part Number: TMS320F28335
Other Parts Discussed in Thread: C2000WARE

Tool/software: Code Composer Studio

Hi. I want to write the programm,  whith will osciliscope the data from mictrocontroller tfrom uart. I cant understand one moment. The register "SCITXBUF" has 16 data bits, but a can`t transmite16 bit. Do i right understand, what i can put SCITXBUF only one word?

  • Hi Ivan,

    The SCITXBUF is not 16 bits but is only 8 bits wide.

    check 2.8 SCI Transmit Data Buffer Register (SCITXBUF) of http://www.ti.com/lit/ug/sprufz5a/sprufz5a.pdf

    There is a FIFO that can be used for transmit that has a dept of 16.

    If the FIFO is configured correctly it can also transmit upto 16 * 8 bits at a time.

    Refer Figure 1-2. Serial Communications Interface (SCI) Module Block Diagram of the same above doc.

    For some examples on the config , please check the sci examples 

    C2000Ware\device_support\f2833x\examples\scia_loopback_interrupts

    Regards.

  • Did i right understand? If i want to transmit uint16, i must to spray 16 bit data to two bytes, low and high byte and union this bytes after received?
  • Yes. That's right.  Here's an example,

            num=12345;            // This number is 2 bytes long and split into two single byte before transmission
            num1 = (num&0x00ff);     // Just transmitting the last byte
            scia_xmit(num1);
            num2 = (num&0xff00)>>8;   // Just transmitting the first byte
            scia_xmit(num2);