read hex data from uart and save it in string

General discussion on mikroC.
Post Reply
Author
Message
salar
Posts: 1
Joined: 21 Aug 2016 12:23

read hex data from uart and save it in string

#1 Post by salar » 06 Sep 2016 11:25

I want to read hex data from uart an save it in a string as data don't lost and don't overwright.
thank u.
my code is:

void main() {
int i;
int y;
int x;
int k;
int j;
int tank_number=5;
int timeout=0;
int counter;
char final[420];
char Q_volume[]={"\x51\x56\x33\x20\x31\x0d\x0a"};
char Q_temp[]={"\x51\x54\x50\x20\x31\x0d\x0a"};
char Q_height[]={"\x51\x4c\x50\x20\x31\x0d\x0a"};
char Q_water[]={"\x51\x4c\x57\x20\x31\x0d\x0a"};
char temp[5];
char receive[100];
char volume[7];
char dama[20];
char ertefa[20];
char height[5];
char aab[20];
char water[1];
UART1_Init(9600);
while(1){
for(j=0;j<tank_number;j++){
do{
k=0;
i=0;
y=0;
x=500;

Q_volume[4]=0x31+j;
do{
UART1_Write_Text(Q_volume);
do{
Delay_us(1);
counter=x--;

}while((UART1_Data_Ready()==0)&&(counter>=0));

if(UART1_Data_Ready()==1){
break;
}
y++;
}while(y<3);
if(UART1_Data_Ready()==0){
UART1_Write_Text("error");
break;
}
if(UART1_Data_Ready()==1){
memset(receive,0x00,100);
do{
receive=UART1_Read();
i++;
Delay_us(100);
}while(i<30);
UART1_Write_Text("receive:");
UART1_Write_Text(receive);
UART1_Write_Text("\r");
memset(volume,0x00,6);
for(i=0;i<6;i++){
volume=receive[9+i];
}

UART1_Write_Text("volume:");
UART1_Write_Text(volume);
UART1_Write_Text("\r");
if(receive[20]==0x0a){
break;
}
}
//UART1_Write_Text("not");
k++;
}while(k<3);

Post Reply

Return to “mikroC General”