Unable to use interrupts from non-adjacent pins on PSoC 4

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

cross mob
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Hi.

   

I have 3 signals connected to P3[0], P3[1], P3[4], and I want the three of them to generate a single interrupt.

   

PSoC 4 supports this, because the signals are connected to the same port, but PSoC Creator (v4.0) doesn't let me do this, because the signal are not connected to adjacent pins. When I deactivate the "Contiguous" checkbox, the "Spanning" checkbox is automatically activated, which creates an error and I can't do anything about it.

   

See the attached screenshots.

   

I cannot move the signals anywhere, because the PCB is already produced.

   

How can I override this constraint, which is not a PSoC 4 constraint?

   

Thanks.

1 Solution
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

You can hack a bit behind the scenes. I've tried to remain true to the spirit of the Cypress framework while doing so to enhance reuse and portability.

   

You will have to complete and implement the ISR still. I hope this helps.

   

Roger.

View solution in original post

8 Replies
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Are you still using the PSOC 4 device or another PSOC device?

0 Likes
Anonymous
Not applicable

Using CY8C4247AZI-M485 device

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted
        I believe that pins must be contiguous. Can you add (unused) pins 3[1], 3[2] to the list? Another way to save PCB is to use 3 standard ISRs attached to each individual pin or to use one ISR and have it 'OR'-ed to 3 pins.   
0 Likes
Anonymous
Not applicable

The unused pins are P3[2] and P3[3], and I can't add them because these are SWD pins.

   

It's not possible to use 3 ISRs with different pins from the same port. Again PSoC Creator constrains (PSoC 4 related). You get the following error:

   
    

Pin Error: (Mixed Interrupt Signal. Cannot assign 'IN2(0)' with Interrupt Signal to physical port 3 where 'IN1(0)' with Interrupt Signal IN1 is already placed.).

   
   

In PSoC 4 device, any pin within a port can trigger an interrupt, and they don't have to be contiguous. This constraint comes from PSoC Creator, not the PSoC 4 device.

0 Likes
lock attach
Attachments are accessible only for community members.
rola_264706
Level 8
Level 8
50 likes received 25 likes received 10 likes received

Try this.

0 Likes
Anonymous
Not applicable

I don't understand what you are trying to explain with this example.

   

You didn't assign the input pins to any position, so they are autoplaced to different ports.

   

I can't move the pins anywhere. They are located in the locations I mentioned above.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

You can hack a bit behind the scenes. I've tried to remain true to the spirit of the Cypress framework while doing so to enhance reuse and portability.

   

You will have to complete and implement the ISR still. I hope this helps.

   

Roger.

Anonymous
Not applicable

That was my thought also, to enable pin interrupts using API.

   

I'll try it.

   

Thanks.

0 Likes