Microchip
直播中

王刚

7年用户 1259经验值
私信 关注
[问答]

PIC16F877A UART读取字符串与预定义数组问题怎么解决

嗨,我已经定义了array1[](预定义的)和另一个从超终端接收的array2[]到pic。我只是想比较一下这些数组,如果它们成功了,我会把字符串发送到lcd,否则会出错。但是我得到的结果是错误的。includestring.h>include"lcd_..c"de。精细_XTAL_FREQ 8000000000000charUART_Init(常长int波特率){无符号的int x;x=(_XTAL_FREQ-波特率*64)/(波特率*64)/(波特率*64);如果(x>;255;255;如果(x>;255;255){(x> 255;255;x>;255;255{(x>;255;255{XXTAL_XTAL_FREQ-FREQ-波特率*16)/(XXTATAL_FREQ-FREQ-波特率*16)/(波特率*16)/(波特率*16)/(波特率*16);BRGH=1;CREN=1;TXEN=1;返回1;}返回0;} chARUARTXTXIMPUTY(){RealTrMT;} char UARTHUDATAYRADY(){RealRCIF;} chuUARTHARAD(){()!返回RCREG;}void UART_Read_Text(char*Output,unsigned int.){int i;for(int i=0;i<.;i++)Output=UART_Read();}void UART_Write(char data){.(!TXRG=DATA;}空格UARTHORIGETEX文本(CHAR*文本){int I;(i=0;文本)!=0';i++)UART_写UART(文本); }}//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------array1[6]=“hello”,array2[6];TRISB=0x00;setuplcd_port();lcd_init();lcd_send_字符串("欢迎");//在第一行UART_Init(9600)第一行UART_Init(第一行UART_Init(欢迎");//在第一行UART_InRT_Init(9600)中写入文本;第一行UART_UART_InRT_InRT_InRT_Init(“欢迎”);//写入文本;第一行UAUAUAUAUAUAUAUAUART_UART_InRT_InRT_InRT_Init(9600)9600);阵列1[12]]=.(((1]]]]='''\\\\\\\\u command(0x80);//lcd_send_string(array2);}}for(i=0;I& lt;12;i++){if((1)!= ARARY2)和(和);=‘0’字形2!=‘0’);=‘n’} ARARY2!='n')){lcd_command(0x01);lcd_command(0x80);lcd_send_string("error");}.{lcd_command(0x01);lcd_command(0x80);lcd_send_string("ok");}}}}}

回帖(7)

tijing忽忽

2020-4-30 06:17:18
你需要提供更多的细节,比如你用来比较字符串和字符串定义的代码(至少)。发布所有代码通常是获得有用帮助的最佳途径。
举报

陈晨

2020-4-30 06:22:23
编译器C18与XC8/CSS/HiTea/SDCC不同
举报

张伟

2020-4-30 06:42:00
HII AM使用HiTeC C编译器
举报

刘晓燕

2020-4-30 06:52:28
我只是想比较一下array1[]和array2[];array1已经预定义了,array2是用户条目。所以我想比较一下那些数组,如果相等的话,我会把消息发送到lcd,比如“OK”。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分