Content originally posted in LPCWare by ken on Sat Jun 02 22:58:24 MST 2012
hi, these are the codes which i used to test with the gm47.
void init_uart(void)
{
UART_CFG_Type uartCfg;
uartCfg.Baud_rate = 5400;
uartCfg.Databits = UART_DATABIT_8;
uartCfg.Parity = UART_PARITY_NONE;
uartCfg.Stopbits = UART_STOPBIT_1;
//pin select for uart3
pinsel_uart3();
//supply power & setup working par.s for uart3
UART_Init(LPC_UART3, &uartCfg);
LPC_UART3-> FCR = (UART_FCR_FIFO_EN | UART_FCR_RX_RS|UART_FCR_TX_RS);
//enable transmit for uart2
UART_TxCmd(LPC_UART3,ENABLE);
//Initialize FIFO register
UART_FIFO_CFG_Type FIFOCfg;
FIFOCfg.FIFO_DMAMode = DISABLE;
FIFOCfg.FIFO_Level = UART_FIFO_TRGLEV2;
FIFOCfg.FIFO_ResetRxBuf = ENABLE;
FIFOCfg.FIFO_ResetTxBuf = ENABLE;
UART_FIFOConfig(LPC_UART3, &FIFOCfg);
}
int main(){
init_uart();
while (1)
{
//test sending message
strcpy(msg, "AT+CMGF=1\r");
UART_Send(LPC_UART3, (uint8_t *)msg , strlen(msg), BLOCKING);
Timer0_Wait(500);
len = 0;
do
{
UART_Receive(LPC_UART3, &data, 1, BLOCKING);
if (data != '\r')
{
len++;
line[len-1] = data;
}
} while ((len<64) && (data != '\r'));
printf ("%s\n",line);
line[len]=0;
return 0;
}