Hello,
I am browsing this forum but I cannot find answer to my problem.
I am using Q2686, and over GSM I want to send & receive data to/from UART2.
I am using following code:
void adl_main ( adl_InitType_e InitType ) {
returned_value = adl_atCmdCreate ("AT+WMFM=0,1,2\r", FALSE,(adl_atRspHandler_t) HandleWmfmUART2,"*",NULL);
}
bool HandleWmfmUART2(adl_atResponse_t *response)
{
HelloWorld_TimerHandler2(0); return(FALSE);
}
void HelloWorld_TimerHandler2 ( u8 ID )
{
adl_atCmdCreate ("AT+IPR=9600\r", ADL_AT_PORT_TYPE(ADL_PORT_UART2,FALSE), (adl_atRspHandler_t) NULL,NULL);
adl_atSendResponse ( ADL_AT_UNS, "Set to 9600\32\r\n" );
adl_callSubscribe (Call_Handler);
}
In call event handler (ADL_CALL_EVENT_ANSWER_OK) I subscribe for GSM flow & UART2 flow
My GSM & UART2 handlers are following:
bool GSM_DATA_DataHandler (u16 DataLen, u8 * Data) {
adl_fcmSendData(FCMHandler,Data, DataLen);
return TRUE;
}
bool FcmDataHandler (u16 DataLen, u8 * Data) {
adl_fcmSendData (GSM_DATA_Handle,Data,DataLen);
return TRUE;
}
Well, with this code I can send over GSM to UART2 characters. On TX2 on UART2 I can see on oscilloscope charactes I have send over GSM(from another wavecom Modem).
Next I did loop on UART2 to get echo, by connecting RX2 to TX2 and CTS2 to RTS2
But I don’t get any echo.
The same configuration & code has been working fine on UART1 (I only replace UART2 with UART1 in code) & over GSM I could get echo…
Another strange thing I don’t understand. I subscribed to UART2 and GSM flow control. But When I am typing in HyperTerminal connected to UART1, data are send to GSM port and send to another modem. I didn’t subscirbe for UART1 - GSM flow control… Why UART1 sends data to GSM data port?
Thanks in advance,
Tom