QuiTeLearN
Newbie level 1
Hi, I need help and I have a problem to read ASCII code from hyperterminal using PIC18F458 in C (MCC18). I need a solution how to read this the ASCII code and compare with string char. Otherwise my string char should be same with ASCII entered and the programme will be proceed the next instruction.
Can you help me bro?
my propose programme is attached below.
void main (void)
{
unsigned char mydata1[]={"0123"};
unsigned char mydata[]={""};
unsigned char z,s, LED1;
TRISB=0;
TXSTA = 0x20;
RCSTA= 0X90;
SPBRG = 32; //20MHz crystal osc BD=9600
RCSTAbits.SPEN = 1;
TXSTAbits.TXEN = 1;
TRISCbits.TRISC7 = 0;
TRISCbits.TRISC6 = 1;
PORTB=0xFF;
while(1)
{
{
for(z=0; z<5;z++)
{
while(PIR1bits.RCIF==0);
mydata[z]=RCREG;
}
}
for(z=0; z<5;z++);
if (mydata1[z]==mydata[z])
{
mydatatx_1();
PORTB = LED1;
LED1 = 0x55;
Delay10KTCYx(255);
}
else
PORTB = 0xF1;
}
}
void mydatatx_1(void)
{
unsigned char j;
unsigned char send1[13]={"You are right "};
for(j=0;j<13;j++)
{
while(PIR1bits.TXIF==0);
TXREG=send1[j];
}
}
Can you help me bro?
my propose programme is attached below.
void main (void)
{
unsigned char mydata1[]={"0123"};
unsigned char mydata[]={""};
unsigned char z,s, LED1;
TRISB=0;
TXSTA = 0x20;
RCSTA= 0X90;
SPBRG = 32; //20MHz crystal osc BD=9600
RCSTAbits.SPEN = 1;
TXSTAbits.TXEN = 1;
TRISCbits.TRISC7 = 0;
TRISCbits.TRISC6 = 1;
PORTB=0xFF;
while(1)
{
{
for(z=0; z<5;z++)
{
while(PIR1bits.RCIF==0);
mydata[z]=RCREG;
}
}
for(z=0; z<5;z++);
if (mydata1[z]==mydata[z])
{
mydatatx_1();
PORTB = LED1;
LED1 = 0x55;
Delay10KTCYx(255);
}
else
PORTB = 0xF1;
}
}
void mydatatx_1(void)
{
unsigned char j;
unsigned char send1[13]={"You are right "};
for(j=0;j<13;j++)
{
while(PIR1bits.TXIF==0);
TXREG=send1[j];
}
}