string no compilador C18

T

td micro

Guest
oi ... no meu projeto, eu tenho que ler a cadeia do PC para o USART no PIC 18F. estamos usando o compilador C18. e então temos que compará-lo com uma corda predefinido. eu vi getsUSART (a, 7), mas no presente, temos de acrescentar characters.but 7 exata do comprimento da corda é desconhecido .. assim, como podemos ler uma string de comprimento desconhecido? e como compará-lo com a corda predefinido? plz me ajudar ..... obrigado
 
Hai, Se o comprimento da corda é desconhecida, você pode usar getcUSART () para ler um único byte. Você pode escrever uma ISR para ler bytes de UART ou usar a função em um loop (que deve contiuously ler sempre os dados estão prontos). O byte recebido deve ser armazenado para um tampão e incrementar o índice do buffer para armazenar o byte seguinte. A transferência de dados pode ser interrompida, ou quando o buffer está cheio ou após um período de tempo limite. Você pode comparar as cordas usando strcmp () função, que está no arquivo string.h
 
oi, obrigado pela resposta
Você pode comparar as cordas usando strcmp () função, que está no arquivo string.h
eu acho que, nós não podemos comparar como este strcmp (buffer [], "hallooo "); usando strcmp, nós não podemos comparar com um string.so predefinido que você pode me ajudar a comparar se a seqüência de entrada é" hallooo "
 
Hai, Você tentou tipo lançando os parâmetros de strcmp () como const char * ou * rom unsigned char. Caso contrário, você pode escrever uma função como esta pseudo-código:
Code:
 int fn (char * b1, char * b2) {while (! (* B1 = '\ 0') && (b2 * = '\ 0)) { if (* b1 = b2 *!) return false; b1 + +; b2 + +;} return true;}
 

Welcome to EDABoard.com

Sponsor

Back
Top