Beaglebone Black проблема последовательной связи - PullRequest
0 голосов
/ 14 ноября 2018

Мне нужна помощь с последовательным портом связи на BBB. если я вызываю эту функцию в цикле for, первый вызов работает, но следующий вызов не отправляет данные на последовательный порт. Терминал показывает «Ошибка при чтении данных». Нужно ли где-то сбрасывать данные?

Мой цикл for:

for(i=1;i<=maxInvNum;i++)
{
printf("Sorgulanan İnverter:%d ",i);    
ParamRead(i,ParamNO,LS);    
sleep(1);
}

Вызываемая функция:

int ParamRead(int i, int ParamNO, serialib LS)
{   
char inv_sorgu[10];
char inv_string[100];
int Ret; 

LS.FlushReceiver(); 
sprintf(inv_sorgu,"G%03d%03d\r",i,ParamNO);
printf("VOLKAN Sorgu: %s\n", inv_sorgu);

Ret=LS.WriteString(inv_sorgu);

    if (Ret!=1) 
    {   
            printf("InvNo : %d,  Error while reading data\n", i);
            return Ret;     
    }    

sleep(1);
    Ret=LS.ReadString(inv_string,'\r',100,5000);
    if(Ret>0)
{
     printf("InvNo : %d ParamNo: %d Value:%5d\n", i, ParamNO, atoi(inv_string));
    }
else
{   
            printf("InvNo : %d  Read Error\n", i);
    }     

inv_sorgu[0] = '\0';
inv_string[0] = '\0';
}
...