如何在MikroC中从UART读取数据

问题描述 投票:0回答:1

这里有人使用 MikroC 来实现 UART 吗?

我正在尝试连接 PIC18F4550 和 SIM900。我想用

UART1_Read_Text(variable, delimiter, attempts)
。但由于没有接收到的文本的具体长度,我尝试使用
NULL
作为分隔符,但似乎没有任何效果。我尝试输入“
\0
”,“
0
,
enter code here
”,但微控制器卡在该行代码中。这是我尝试过的示例代码。

UART1_Read_Text(variable,"\0",255)    //255 means the PIC will continuously find the NULL

您知道,我希望收到“OK”或“ERROR”。如果 PIC 收到“ERROR”,它将重复某一行代码。

pic uart sim900 mikroc
1个回答
0
投票

使用中断:

volatile char Receive_Buffer[255];
volatile unsigned char i = 0;
volatile char temp;
volatile char flag = 0;


void Clear_Buffer(unsigned char, char *);


void Uart_Rx() iv 0x0008 ics ICS_AUTO 
{
     if(RCIF_bit == 1)
     {
         temp = UART1_Read();
         Receive_Buffer[i] = temp;
         i++;
     }

     if(temp == '\r')
     {
         flag = 1;
     }

     RCIF_bit = 0;
}





void main() 
{
     /**************
     Pin config
     **************/

     UART1_Init(115200);

     if(flag == 1)
     {
         flag = 0;
         UART1_Write_Text(Receive_Buffer);
         Clear_Buffer(i, Receive_Buffer);
     }
 }


 void Clear_Buffer(unsigned char i, char *Receive_Buffer)
 {
      unsigned char j;

      for(j = 0; j <= i; j++)
      {
           Receive_Buffer[i] = 0;
      }
 }
© www.soinside.com 2019 - 2024. All rights reserved.