bool cmd_RspHandler_WMFM(adl_atResponse_t* params)
{
if (strstr(params->StrData, "+WMFM: 0,2,2,0"))
{
TRACE((MAIN_TRACE_LEVEL, "Opening UART2"));
// UART2 is closed, open it
adl_atCmdCreate("AT+WMFM=0,1,2", false, (adl_atRspHandler_t) cmd_RspHandler_WMFM, "*", NULL);
}
if (strstr(params->StrData, "+WMFM: 0,2,2,1"))
{
TRACE((MAIN_TRACE_LEVEL, "Enable 2 wire serial communication"));
// UART2 is open
adl_atCmdCreate("AT+IFC=0,0", false, (adl_atRspHandler_t) Init, "*", NULL);
}
I’ve extended the code to open UART2 if it’s closed. Still the program keeps restarting (exception occured i assume) if I even just declare GPIO17 in my gpio config.
Is there any reason why you can’t use another GPIO?
I’ve tried to use GPIO muxed with UART1 while UART1 is open, and while it worked in firmware 6.6x, I haven’t seen it work in firmware 7 series. Might be that if UART2 is open, there is no way to use one of the UART2 pins for GPIO at the same time.
I think I am using all other GPIO’s. Can’t use the GPIO’s that are multiplexed with RTS1, CTS1 because I am using UART1.
I thought it was possible to use RTS2 and CTS2 if you disabled hardware flow control with AT+IFC=0,0 (datasheet says so more or less).
However I am not directly using UART2, I am using the location library for the XM0110 wich uses UART2. Does this help you locate the problem?