Replies: 5 comments 1 reply
-
I just ran your above code on a PicoW and a Pico2 with GP4 grounded (to avoid a floating input). Both ran fine with and without the Did you run exactly the above sketch, or do you have actual code in |
Beta Was this translation helpful? Give feedback.
-
The Pico2W is fitted on a board I made up, and GP4 is either grounded or tied up to 3.3V. This is indeed the exact sketch I pasted, so there is absolutly nothing inside setup1 {}. This is even weird if you tell it's working on your PICO 2, but mine is pico 2W so this is the difference. I have no pico (1) nor pico2 to test with... Maybe this has something to do with the pico firmware file I dragged on (I'm using V1.26.1 [lastest])? I don't know at all. I'm not used to picos families. I'm using Arduino IDE 2.3.6. Even more, after freezing, I have to reboot the pico (button pressed when powering on) to be able to transfer the stektch again. |
Beta Was this translation helpful? Give feedback.
-
I didn't catch that you had a 2W in my first reading, but when I redid on on a RP2350+RPI.WIFI I was able to reproduce the hang. GDB showed exactly what was up, and it was in the SDK. Very interesting problem and easy solution. Basically there are 4 shared IRQ slots by default. On the RP2350, now that we're using the doorbells (as the R.PI guys are) 2 slots are required for the doorbell FIFO IRQ. One is required for the USB port. And on the W-variants, one is required for the CYW43 interface. So that's 4 shared IRQs on a RP2350-W. Adding in the shared IRQ for GPIOs causes an Very interesting problem with a simple solution...increase the number of shared IRQ slots and rebuilt the libs. I was hoping to wait for an official SDK release update to renew the binary libs, but I guess I'll have to do one now out of sync. :( |
Beta Was this translation helpful? Give feedback.
-
Many thanks for the quick answer. I just looked into the irq files of your libs, and find in
so I guess this 4 has to be changed for 5. |
Beta Was this translation helpful? Give feedback.
-
Many thanks. I will implement all this tomorrow ; thks for upgrading. Good night :D |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello
I'm using PICO2W in IDE arduino with release 5.3.0
I found a strange behaviour with the "attachInterrupt()" function when running on 2 cores programs for pico2.
Every thing runs OK when running one 1 core version -> no setup1().
But if only setup1() {} is written in the code, then the "attachInterrupt()" gets stuck.
After long searchs, I find out it got stuck in gpio_set_irq_enabled_with_callback() but I didn't go forward.
Serial monitor display if setup1() is not present:
Before
After
0 0
0 0
Serial monitor display if setup1() is present:
Before
and that's it :/ :\
Beta Was this translation helpful? Give feedback.
All reactions