-
Notifications
You must be signed in to change notification settings - Fork 1.1k
RP2350B pin PIO function abnormality #2133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Does it work on a RP2350A? |
Perhaps you just need to modify the code to remove the GPIO isolation latches? (A new feature in RP2350 that wasn't in RP2040) |
@peterharperuk Hello, I used RP2350A to test that USB communication can be carried out normally, and a stable signal can be detected.
@lurch Hello, how can I properly remove the GPIO isolation latch? I did not add any extra code when implementing it with RP2350A. |
Ah, well if it works with RP2350A then I guess it should also work with RP2350B, so I'll leave this to Peter or Graham to investigate 🙂 |
@lurch @peterharperuk Hi, I would like to ask how the test is going? |
I gave the host example a test and it worked on pico1 but I can't get it to work on pico2. Not immediately obvious why but I assume it's something to do with gpio not being setup properly. |
hmm .. I suspect I'm seeing something very similar but on the input side of things. I have a PIO program that waits for a to go low, then high, and it never seems to react on the rp2350. It works fine on the 2040. I'm running an RP2350A0A2 if I'm reading this right. GPIO reads show the pin changing, but PIO doesn't react at all .. odd.. |
I can't help you without seeing your code |
It could be unrelated.. The signal line in question is a pulse at roughly 76hz. The code overclocks right now, but I've tried it at the stock clock frequency and with various GPIO pin configurations. It works great on an rp2040 but doesn't do anything on the rp2350. I'm probably missing something simple... but it sounds very similar to what's described in this bug. |
@peterharperuk Thank you for your reply. I used the same test procedure and the result was that RP2350A tested normal, but RP2350B was abnormal. What could be the problem? |
@Octopus1633 what boards are you using with your tests? |
The circuit I designed referring to the schematic in the official manual is the same as the reference board you provided. |
@Octopus1633 Do you have any pico2 devices? If you do, can you see if you can get the host and device examples to work. I can only get the device examples to work on a pico2. I'm slightly suspicious that the code is suffering from an issue with the pull downs. However, the device example works on pico2 and a pimoroni pico 2 plus which uses an rp2350b. I tested it with pins 12 and 13 so I can't reproduce your problem. |
@peterharperuk I think there is a problem with the latest example of https://github.com/sekigon-gonnoc/Pico-PIO-USB. I used the 0.53 version of the example to test on pico2, and the result showed that it is feasible as a USB device or host. However, when compiling the 0.53 version of the example, you need to comment out the pio_sm_set_jmp_pin function definition in the sdk. I used GPIO7 and 8 and tested it on RP2350B again, but it still didn't work. The computer would pop up that the USB device could not be recognized. |
It's probably not relevant, but just FYI: #1849 (things were in a state of flux at one point, but hopefully everything has stabilised now). |
@lurch Thank you for your advice. I re-pulled the latest SDK and initialized the submodule. The test results are still the same as above. |
Hello,
I have successfully run the hello_pio example on RP2350B based on #2051 . Now RP2350B has two pins connected to USB. I want to use PIO to simulate USB to realize USB master-slave communication, but after burning the firmware, I don't detect any signal on the pins. Even if I use pins below 32 and PICO_PIO_USE_GPIO_BASE=0.
https://github.com/sekigon-gonnoc/Pico-PIO-USB This code works fine on the RP2040. If it is run on the RP2350B and the pins below 32 are used to implement the PIO function, the program should run without any modification.
RP2040:

RP2350B:

The text was updated successfully, but these errors were encountered: