UARTs with ConnectCore Wi9P9215

I work with the ConnectCore Wi9p9215. It has 4 UARTs. So I have implemented 3 DB9 in RS232 (serial A, B, C) and 1 TTL link (serial D). I have configured 4 UARTS in 2 wires with the NET+OS software.
Only one DB9 works (serial B) !?
I don’t know why other link doesn’t work. I know that all TTL signals go to the module but it doesn’t read datas.
Have you got an idea ?

Best regards,

I’m assuming you’ve got the wi9p on your custom board instead of the digi prototype board. In order to know if the problem is hardware or software you might want to try it on the digi board first and make sure it’s working. that way you’ll know at least NETOS is setup correctly.

Have you seen the wi9p hardware guide:


With the prototype board, only UART B and D (in RS232) works. UARTs A and C (in TTL) don’t work. I have read the hardware guide but it doesn’t help me.


You probably need to enable the two ports. Right click on your project, go to Properties, then find the configuration section for the serial ports.

I enable the 4 ports in UART 2 wires. I checked all connections. I think there is no hardware problem. But i don’t find…


When you say you have enabled the Serial ports have you done this in both bsp_serial.h, AND in gpio.h.

You can do this in the Properties dialog but it is also woth checking the actual files to make sure it is correct.

I am not totally sure but I believe that the settings for the multiplexed I/O signals in gpio.h actually get set in the bootloader code, rather than the standard application, so you may find that you need to dowload an updated version of the bootloader as well as the application.

I am using the non wifi version of 9P9125 and I have all four serial ports operating, and have even got a fifth port operating on the IOP, so it will work.


Hi Roy,
Thank you for your help. I have only enabled the serial ports with the properties dialog. So I will see this tomorrow (1st May is unworked in France)

Hi Roy,
I believe too that the settings for the multiplexed I/O signals in gpio.h actually get set in the bootloader code, rather than the standard application. But where can I change this and how ?

Best regards

Today, 2 ports work (serial B and D). I set for these ports 2 wires alternate path and use internal only for gpio.h.
But ports A and C don’t work. I use 2 wires UART. I try some choices with gpio. h (use internal only, alternate path, …) I dont know why…

Only ports B and D work.
I am aware that ports A and C are TTL levels. So I use the same converter that ports B and D to use RS232 (because RS232 devices are connected).
In gpio.h, I have defined all ports like this :




Ports B and D work. Ports A and C are defined but they don’t work.
With a scope, I can see that 0-3,3V signals go to RXA and RXD but the soft can’t read datas…



You need to build you project in “Release” mode.
Goto Project/Properties. Select C/C++ Build then manage Configurations, Highlight Release and click Set Active

Once you have done the above you need to do a full rebuild. This will generate a Release folder that will contain “rom.bin”. If you download this it wil update the bootloader.


Thank you very much Roy.
It works fine.

Best regards