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.

How do you output an array

Other Parts Discussed in Thread: TMS320C6416T

I have the TMS320C6416T DSK...with CCS 3.1....  I finished getting my algorithm on the board.  The algorithm produces an array that I would like streamed over an output of some kind so I can view it on an oscope...what commands do i need...where do i look to output it over the audio jack or any other means...I just need to output the signal.

  • Your installation disk that came with the DSK includes Target Content with example programs. One is a BIOS-based example called audio. Another is a BSL-based example called LED. You could use either of these to output data. With the LED one you could bit-bang your data out serially using the BSL LED functions then touch your scope probe to one side of the LED.

    If you do not have the installation disk, you can go to Spectrum Digital's website to download the Target Content.

    Best of luck to you.

    RandyP

     

    If this answers your question, please click the  Verify Answer  button below. If not, please reply back with more information.

  • I loaded the LED project and I dont really see how you could use the LED commands DSK6416_LED_ON /OFF to solve this issue.

    I am trying to output a signal with a 64bit resolution that is currently stored in a double floating point array.

     

     

     

     

  • For a closer answer to what you want, you will need to provide more detail on what you want. You can output a signal on an LED using code like the following, which I have just written here without compiling or testing, because I doubt it is what you want, so some of the syntax is probably wrong. And it is not a very well sync'd UART-type signal, but it will output an array which is what you asked for.

    unsigned long long bits;
    double MyArray[CNT];
    union Convert_tag {
        double dbl;
        unsigned long long ull;
    } Convert;

    void main()
    {
        int i,j;

        /* Initialize the board support library, must be first BSL call */
        DSK6416_init();

        /* Initialize the LED and DIP switch modules of the BSL */
        DSK6416_LED_init();
        DSK6416_DIP_init();
        DSK6416_LED_off(3);
       
        for ( i = 0; i < CNT; i++ )
        {
            Convert.dbl = MyArray[i];
            ullBits = Convert.ull;

            DSK6416_LED_on(3);  // start bit
            DSK6416_waitusec(20);

            for ( j = 0; j < 64; j++ )
            {
                if ( ullBits & ( 1 << j ) )
                    /* bit is 1, turn LED #3 on */
                    DSK6416_LED_on(3);
                else
                    /* bit is 0, turn LED #3 off */
                    DSK6416_LED_off(3);
                DSK6416_waitusec(20);
            }
            DSK6416_LED_off(3);  // stop bit
            DSK6416_waitusec(100);
        }  
    }