初级会员

- 积分
- 60
- 金钱
- 60
- 注册时间
- 2018-3-27
- 在线时间
- 15 小时
|
1金钱
写了一个串口中断接受gps模块数据,可控
程序刚开始运行时,gps串口接受数据正常,软件关闭gps,然后再打开之后就不接收数据了
串口中断
void USART3_IRQHandler(void)
{
u8 Res;
u8 i;
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
{
Res =USART_ReceiveData(USART3);
// printf("%c",Res);
GPS_USART_RX_BUF[GPS_USART_RX_STA]=Res;
GPS_USART_RX_STA++;
if(GPS_USART_RX_STA>GPS_USART_REC_LEN-1)GPS_USART_RX_BUF_CLR();
if(GPS_USART_RX_BUF[0]!='$')GPS_USART_RX_BUF_CLR();
}
}
定时器控制
void TIM5_IRQHandler(void) //TIM5ÖD¶Ï
{
char EndTimeBuf[20];
if (TIM_GetITStatus(TIM5, TIM_IT_Update) != RESET) //¼ì2éTIM2¸üDÂÖD¶Ï·¢éúóë·ñ
{
TIM_ClearITPendingBit(TIM5, TIM_IT_Update); //Çå3yTIMx¸üDÂÖD¶Ï±êÖ¾
if(TIM5_COUNTER > 11)//设置1分钟之后启动
{
TIM5_COUNTER=0;
sprintf(EndTimeBuf,"%04d%02d%02d%02d%02d%02d",calendar.w_year,calendar.w_month,calendar.w_date,calendar.hour,calendar.min,calendar.sec);
GPRS_CS=1;
GPS_CS=1;//启动gps,串口无数据接收
USART_ClearITPendingBit(USART3, USART_IT_RXNE);//USART3 GPS串口
}
TIM5_COUNTER++;
}
}
大神们帮忙看一下哪个地方有问题
|
|