UART & Serial Driver switching at run time Topic is solved

ChibiOS public support forum for topics related to the STMicroelectronics STM32 family of micro-controllers.

Moderator: RoccoMarco

Post Reply
Arjun Dongre
Posts: 1
Joined: Thu Apr 26, 2018 5:58 am
Has thanked: 2 times

UART & Serial Driver switching at run time

Post by Arjun Dongre »

Hi all,
I am using STM32F4 in my project.

Is there any way to switch serial port between "Serial Driver" & "UART Driver" at run time?

i.e Initially I want to initialize uart2 as "UARTD2". Then want to change it to "SD2". But as we need to configure/define serial ports in "mcuconfig.h", the configuration remains same untill program ends.

So is there any way to switch at run time?
User avatar
Giovanni
Site Admin
Posts: 14893
Joined: Wed May 27, 2009 8:48 am
Has thanked: 1202 times
Been thanked: 997 times

Re: UART & Serial Driver switching at run time

Post by Giovanni »

Hi,

It is not possible, the UART IRQ vector is statically linked to a driver. Would require hacks in both drivers (remove the default ISR and play with that).

Giovanni
steved
Posts: 834
Joined: Fri Nov 09, 2012 2:22 pm
Has thanked: 12 times
Been thanked: 138 times

Re: UART & Serial Driver switching at run time

Post by steved »

Search the forum; some time ago I uploaded a version of the serial driver which also supports callbacks like the UART driver. You switch between the two based on whether the callbacks are defined or not. Quite possibly that will do what you want. (Note that it always uses interrupts; never DMA)
Post Reply