用串口调试助手向SIM800做TCP(串口通信)收发测试一切正常
用串口调试助手向STM32做串口通信一切正常
用STM32和SIM800做串口数据收发,单片机却只能接收31个字节的数据,后面的数据就不对了
我奇怪的是:如果说是SIM模块的问题,那它与电脑之间可以正常收发数据,
如果说是我写的STM32程序有问题,那用电脑电脑给它发的数据又是完全正常的
况且程序也非常简单,就是建了一个256字节的接收buffer,
void USART1_IRQHandler(void) //串口1中断服务程序
{
u8 c;
if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)
{
c = USART_ReceiveData(USART1);
*serial1.in->pw++ = c; //pw是接收buff的指针
}
}
int serial_gets(buff_t*in,char* buff)
{
while(1){
if(in->pw>in->pr){
if(*in->pr++ == '\n'){ //接收到回车符0a结束
//strcpy();
//memset(in->buff);
in->pw = in->pr = in->buff;
return 1;
}
}
};
}
请问各路大神还有可能是什么原因? |