我正在尝试使用 Uart2将 sim900与 tm4c123gh下午6点连接。 我刚刚尝试了一个非常简单的带有 AT 命令的代码、以便从 GSM 获得 ok 响应、但到目前为止、我没有获得所需的结果。 您能检查我的代码并进一步指导我吗?
#include
#include
void PLL_Init (void);
void UART2_Init (void);
空 UartWrite (char*pstr);
unsigned char receiver (void);
void transmitter (unsigned char data);
int main (void){
unsigned char 命令;
PLL_Init();
UART2_Init();
UartWrite ("此程序写入");
UartWrite ("at");
}
void UART2_Init (void){
sysctl->RCGCUART|=0x00000004;
sysctl->RCGCGPIO|=0X00000008;
UART2->CTL&&~0x00000002;
UART2->IBRD=43;//---设置波特率115200
UART2->FBRD=26;
UART2->LCRH=0X00000070;
UART2->CTL|=0x00000002;
GPIOD->AFSEL|=0XC0;
GPIOD->DEN|=0XC0;
GPIOD->PCTL=(GPIO->PCTL&0XFFFFFF00)+0X0000000C0;
GPIOD->AMSEL&&~0XC0;
GPIOD->DIR |=0x80;
}
void PLL_Init (void){
sysctl->RCC2|=0x8000000;
sysctl->RCC2|=0X00000800;
sysctl->RCC2 =(sysctl->RCC2 &~0X000007C0)+0X00000540;
sysctl->RCC2&=~0X80000070;
sysctl->RCC2&=~0X80002000;
sysctl->RCC2|=0X40000000;
sysctl->RCC2 =(sysctl->RCC2 &~0X1FC00000)+(4<<22);
while ((sysctl->RIS&0X00000040)==0){};
sysctl->RCC2&=~0X00000800;
}
空 UartWrite (char*pstr){
while (*pstr!=0){
发射器(*pstr++);
}
unsigned char receiver (void){
while ((UART1->FR&0x01)!=0){};
返回 UART1->DR&0xFF;
}
void transmitter (unsigned char data){
while ((UART1->FR&0x20)!=0){};
UART1->DR=DATA;
}