chào các anh!
e đang tìm hiểu về đề tài nhận và hiển thị tin nhắn sử dụng modulesim900A và kit STM32RCT6
đây là đoạn ngắt UART của e để thông báo cho VDK là có tin nhắn mới.
void USART1_IRQHandler(void)
{
uint8_t c;
unsigned char sms[100];
char new_sms=0,i=0;
if ((USART1->SR & USART_FLAG_RXNE) != RESET) // Neu co ky tu moi trong bo dem nhan
{
c=USART_ReceiveData(USART1);
if((i!=13)&&(i!=10))
{
sms[i++]=c;
}
else
{
if(i == 100)
i=0;
USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
}
if((sms[0]=='+')&&(sms[1]=='C')&&(sms[2]=='M')&&(sms[3]=='T')&&(sms[4]=='I'))
{
new_sms=1;
}
}
}
không biết e làm ko đúng ở đâu mà e test ko có chạy . mong các a giúp đỡ
e đang tìm hiểu về đề tài nhận và hiển thị tin nhắn sử dụng modulesim900A và kit STM32RCT6
đây là đoạn ngắt UART của e để thông báo cho VDK là có tin nhắn mới.
void USART1_IRQHandler(void)
{
uint8_t c;
unsigned char sms[100];
char new_sms=0,i=0;
if ((USART1->SR & USART_FLAG_RXNE) != RESET) // Neu co ky tu moi trong bo dem nhan
{
c=USART_ReceiveData(USART1);
if((i!=13)&&(i!=10))
{
sms[i++]=c;
}
else
{
if(i == 100)
i=0;
USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);
}
if((sms[0]=='+')&&(sms[1]=='C')&&(sms[2]=='M')&&(sms[3]=='T')&&(sms[4]=='I'))
{
new_sms=1;
}
}
}
không biết e làm ko đúng ở đâu mà e test ko có chạy . mong các a giúp đỡ
Comment