Autor Tema: MK x CCS ??? strcmp (Chr(10)+ "RING")  (Leído 3081 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ivan braga

  • PIC12
  • **
  • Mensajes: 77
MK x CCS ??? strcmp (Chr(10)+ "RING")
« en: 08 de Diciembre de 2007, 09:12:02 »
    Ola a todos.


    Mais uma vez, estou com uma pergunta que por mais que eu tente não consegui resolver, então tenho que pedir ajuda aos MAESTROS.     :mrgreen:

    Estava com parte do meu código em BASIC pronto quando resolvi adapta-lo a linguagem C, ai sim começaram as dores de cabeça, não porque seja difícil tal adaptação, mais sim a falta de habito as funções dessa linguagem(C) , e pelo motivo de pensar  em Basic fica tudo confuso.    :shock:

    Bom vamos ao problema, em Basic (MIKROBASIC) parte do meu código era assim e funciona:  :)

Código: [Seleccionar]
       if Usart_Data_Ready() = 1 then                'se recebido alguma coisa
          Usart_Read_Text(Recibido , "" + Chr(13))  'guarda na variavel Recibido
             cmp = strcmp(Recibido, Chr(10)+ "RING")           'compara as variaveis para ver se esta correto

    Vou explicar o código acima para quem não conhece o MK poder entender.

 
Citar
  [ if Usart_Data_Ready() = 1 then ]   essa linha equivale a  [ if(kbhit()) ] no CCS até aqui sem problema.

       [Usart_Read_Text(Recibido , "" + Chr(13)) ]    essa linha equivale a [gets (Recibido); no CCS ]
   
        [  cmp = strcmp(Recibido,Chr(10)+ "RING")  ]        essa linha equivale a  [ (strcmp(Recibido,CHAMADA))  no CCS ]

    O problema é que no MK podemos colocar o delimitador que quiser, no caso [ Chr(13)], no CCS isso é automático, já esta incluído na função (gets), porem quando uma chamada esta sendo recebida no pino TX do telefone chega a seguinte informação (0x0A-RING-0x0D), quando comparo as strings com a função (STRCMP) , no MK não preciso declarar uma veriavel para isso, é só colocar direto (Chr(10)+ "RING").
     Já no CCS  tenho que declarar uma variável, ESSE É O PROBELMA, como ficaria esta variável.  Faço assim [ char CHAMADA = “RING”] ,  quando gravo o pic e tento rodar esta parte do programa para atender uma chamada, o programa não roda, pelo que entendi é porque a informação que chega é (0x0A-RING-0x0D), então como declarar a variável para que funcione como no MK (Chr(10)+ "RING").    :?: :?:

      Desde já agradeço.

      Ivan Braga
"Mesmo o objeto mais inanimado tem movimento suficiente para ficar na sua frente e provocar um acidente."
"Incluso el objeto más inanimado tiene suficiente movimiento para interponerse en su camino y provocar un accidente."
"Even the most inanimate object has enough movement to stand in your way and cause an accident."

Desconectado pikman

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 678
Re: MK x CCS ??? strcmp (Chr(10)+ "RING")
« Respuesta #1 en: 08 de Diciembre de 2007, 13:55:51 »
Hola, bueno yo lo que hago es usar 0x0a y 0x0d para iniciar y deterner la recepcion de datos y despues comparo la trama recibida, no se si se entiende.

saludos
ARIEL
saludos
PikMan

Desconectado ivan braga

  • PIC12
  • **
  • Mensajes: 77
Re: MK x CCS ??? strcmp (Chr(10)+ "RING")
« Respuesta #2 en: 08 de Diciembre de 2007, 14:23:17 »
   Olá ARIEL.

   Eu não consegui compreeender o que você quis dizer, não pelo idioma, isso eu compreendo.
   
   A duvida que tenho é como escrevi antes em MK fica assim (Chr(10)+ "RING"). porem em CCS não tenho a menor ideia de como fazer.

   Como colocar essa expressão dentro da variavel.
   EX: char chamada= 0x0a"RING", quando tento isso da erro.

   Como ficaria isso no CCS???

   Você poderia escrever um exemplo de codigo que possa usar para comparar esta variavel.

   Pois qualquer informação que venha da telefone vem desta forma, exemplo: 0x0aNO DIAL0x0d.

   Desde já agradeço.


    Ivan Braga
« Última modificación: 08 de Diciembre de 2007, 14:26:27 por ivan braga »
"Mesmo o objeto mais inanimado tem movimento suficiente para ficar na sua frente e provocar um acidente."
"Incluso el objeto más inanimado tiene suficiente movimiento para interponerse en su camino y provocar un accidente."
"Even the most inanimate object has enough movement to stand in your way and cause an accident."


 

anything