Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
brza_3998571
Level 1
Level 1

So I am using the CY8CKIT-042 PSoc 4 Pioneer Kit, and I am using two pins for capsense, one as a sensor and one as a driven shield. At a certain point I would like to switch these pins, one to be a 5v signal and one to read an analog sensor.

I looked at https://www.cypress.com/file/122336/download

at the HSIOC section and I think I would need to switch capsense to be GPIO as follows.

CY_SET_REG32(CYDEV_HSIOM_BASE, CYVAL_HSIOM_SEL0_GPIO);

Is this right? And now how do I setup these pins as a high signal and an analog sensor now that they are GPIO?

so far I have performed my capsense function, and I have written  CY_SET_REG32(CYDEV_HSIOM_BASE, CYVAL_HSIOM_SEL0_GPIO); to change the pins to be GPIO

0 Likes
1 Solution
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

To change the pin mode to Analog you have to set the HSIOM_SEL0[3:0] directly to AMUXBUSA or AMUXBUSB. You don't need to use GPIO mode in between. Please refer corresponding port's HSIOM_SEL0 bit definitions in the register TRM of PSoC 4200. For example please refer page number 185 of the architecture TRM.

https://www.cypress.com/file/136296/download

After changing the pin to analog mode you have to disable the input buffer of the pin. For this please refer to the register PRT_PCx register.

It is not possible to connect the pins to 5V unless the VDDIO is 5V.  If VDDIO is 5 volts you can connect the pin to 5V. These are the following steps:

1. Change the HSIOM_SEL0 of the pin to GPIO.

2. Change the drive mode of the pin to Resistive pull-up.

3. Write 1 to the pin.

Thanks

Ganesh

View solution in original post

0 Likes
1 Reply
VenkataD_41
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hi,

To change the pin mode to Analog you have to set the HSIOM_SEL0[3:0] directly to AMUXBUSA or AMUXBUSB. You don't need to use GPIO mode in between. Please refer corresponding port's HSIOM_SEL0 bit definitions in the register TRM of PSoC 4200. For example please refer page number 185 of the architecture TRM.

https://www.cypress.com/file/136296/download

After changing the pin to analog mode you have to disable the input buffer of the pin. For this please refer to the register PRT_PCx register.

It is not possible to connect the pins to 5V unless the VDDIO is 5V.  If VDDIO is 5 volts you can connect the pin to 5V. These are the following steps:

1. Change the HSIOM_SEL0 of the pin to GPIO.

2. Change the drive mode of the pin to Resistive pull-up.

3. Write 1 to the pin.

Thanks

Ganesh

0 Likes