Other Parts Discussed in Thread: ADS8364
Hello,
Does anyone know how to set the CLKR1 pin on the peripheral extension connector (J3) to be high???
Any help will be very much appreciated.
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.
Other Parts Discussed in Thread: ADS8364
Hello,
Does anyone know how to set the CLKR1 pin on the peripheral extension connector (J3) to be high???
Any help will be very much appreciated.
Well, I am using one of the Converter daughtrer cards, which sits on top of the Peripheral Connector (J3) and the Memory Connector (J2). The CLKR pin from McBSP1 on the C6713 is used as an input to the daughter card. I want to set it high and don't know how to do it!
Are you going to be using McBSP1 or do you just need to drive the CLKR1 pin high?
Assuming the latter you should make sure to disable the McBSP1 and enable the McASP0 (set McBSP1DIS = 1 in the DEVCFG register). The McASP module allows you to configure each pin individually for McASP or GPIO functionality. Once the McASP0 module is active you can configure AXR0[6] as GPIO, then control it using the McASP pin data registers (see PFUNC in the McASP module).
If this is not what you are looking for please elaborate so we can better answer your question.
Thanks for the help.
What I am doing here is using the ADS8364 daughter card. The HOLDA, HOLDB, and HOLDC must be high to enable software approach. These correspond to pins CLKR1 (39), FSX1 (35), and FSR1 (41), respectively.
I've been able to drive the FSX1 and FSR1 to the high state using the FSXM, FSXP, FSRM, and FSRP pins of the PCR register for McBSP1.
You suggested disabling McBSP1 and using McASP0. Can I get the FSX1 and FSR1 to be high that way as well???
If yes, could you please give me details such as register addresses, and pins.
This is the code I am using to set FSX1 and FSR1:
#define PCR_MASK (0x0000002C)
#define McBSP1_PCR_Address (0x01900024)
// Read PCR register and update its value to drive FSR1 and FSX1 high:
Temp = *(unsigned char*) McBSP1_PCR_Address;
Temp = Temp | PCR_MASK;
*(unsigned char*) McBSP1_PCR_Address = Temp;
Because FSX1 is not multiplexed with any McASP pins we will need to go ahead and keep these pins configured as McBSP1 pins instead. With that said, you should still be able to output a 'high' signal on the CLKR1 pin. Using your code snippet you should be able to accomplish this by doing the following:
I tweaked your code and just expanded everything out so as to illustrate what I was doing.Bendous said:This is the code I am using to set FSX1 and FSR1:
#define McBSP1_PCR_Address (0x01900024)
// Setting PCR.13 (XIOEN) equal to '1' enables FSX1 as GPIO
// Setting PCR.12 (RIOEN) equal to '1' enables FSR1 and CLKR1 as GPIO
// Setting PCR.11 (FSXM) equal to '1' configures FSX1 as an output pin
// Setting PCR.10 (FSRM) equal to '1' configures FSR1 as an output pin
// Setting PCR.8 (CLKRM) equal to '1' configures CLKR1 as an output pin
*(unsigned char*) McBSP1_PCR_Address |= ((1 << 13) | (1 << 12) | (1 << 11) | (1 << 10 ) | (1 << 8));
// Setting PCR.3 (FSXP) equal to '1' outputs a '1' on the FSX1 pin
// Setting PCR.2 (FSRP) equal to '1' outputs a '1' on the FSR1 pin
// Setting PCR.0 (CLKRP) equal to '1' outputs a '1' on the CLKR1 pin
// See Ch. 10 of the McBSP Guide for more on this
*(unsigned char*) McBSP1_PCR_Address |= ((1 << 3) | (1 << 2) | (1 << 0)) ;