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.

why can't not write FSX0 pin(configured as GPIO) in C5510 DSK?

Other Parts Discussed in Thread: CCSTUDIO

In C5510 DSK

First I configure McBSP0 as GPIO, I can write the DX0 pin high and measure its high voltage,

                            MCBSP_FSETH(hMcbsp0,PCR,DXSTAT,1); 
                              DB7 = MCBSP_FGETH(hMcbsp0, PCR,DXSTAT);

                              if (DB7==1)
                               DSK5510_LED_on(2);

but I can't write the FSX0 using the same way, the voltage of FSX0 is always 0???

                                    MCBSP_FSETH(hMcbsp0,PCR,FSXP,1); 
                              DB7 = MCBSP_FGETH(hMcbsp0, PCR, FSXP);

                                      if (DB7==1)
                               DSK5510_LED_on(2);

I notice that McBSP datasheet states something, maybe this is the reason of my problem

 

"When the McBSP pins are configured as general-purpose input pins,

CLKRP, CLKXP, CLKSP, FSRP, and FSXP are not write-protected. If written,

they contain the written value until they are next automatically updated with

the state of the associated pins. This behavior should be considered when

these bits are polled."

 

  • It appears that that condition is only for input. 

     

    Did you meet the required configurations which shown in the Table 9-1? I found the following statements from the McBSP User's Guide42 (http://focus.ti.com/lit/ug/spru592e/spru592e.pdf). 

    ....

    For the transmitter pins CLKX, FSX, and DX, you must meet two similar

    conditions:

     The transmitter of the serial port is in reset (XRST = 0 in SPCR2).

     General-purpose I/O is enabled for the serial port transmitter (XIOEN = 1

    in PCR).

    The CLKX and FSX pins can be individually configured as input or output pins

    with the CLKXM and FSXM bits, respectively.

    ....

     

    You may want to control registers directly if you are still not able to control the FSXP pin. 

     

    Regards,

    Peter Chung

     

     

  • Oh, sorry, I did not state my problem clearly.

    I really can control the FSX, DX pins high or low in : CCStudio_v3.1\examples\dsk5510\bsl\led ,                    led  project.

    Using the same code,  I can not write these pins in     CCStudio_v3.1\examples\evm5510\csl\timer\timer1_useBios, which is a simple timer interrupt program. Their output voltages are always 0 when writing them high.

    I don't know whether the configuration of timer interrupt disturbs the control of FSX, DX pins, how should I revise the DSP/BIOS configuration, so that I can control these pins???

     

  • Then, it is not a hardware issue. First of all, monitor the actual register value when you set the pin high to make sure that the corresponding bit is set properly. If the required bits are not properly configured, you may need to spend some time to figure out what is missing. 

    If you still can't find what is wrong, please send your entire project to us with details.

     

    Thanks, 

    Peter Chung