collapse

* Posts Recentes

Boa compra este osciloscópio? por jm_araujo
[Hoje às 07:56]


Frequência máxima de pwm com controlo de duty cycle de 0 a 100% por Njay
[Ontem às 19:02]


Augmented reality AR por josecarlos
[23 de Maio de 2018, 22:14]


MKR Vidor4000 por josecarlos
[23 de Maio de 2018, 18:06]


Robô BBC micro:bit controlado com gestos no telemóvel Android por Tayeb
[22 de Maio de 2018, 13:11]


Programar ATTiny85 sem Arduino por hackeduca
[22 de Maio de 2018, 12:20]


[Técnico de Electrónica] Anuncios para "consoveyo" por KammutierSpule
[22 de Maio de 2018, 09:06]


PWM com ventoinha por jm_araujo
[21 de Maio de 2018, 11:24]


NiCd por NiMH? por jm_araujo
[20 de Maio de 2018, 11:46]


LusoRobótica - Website - Estado actual por TigPT
[19 de Maio de 2018, 22:34]

Autor Tópico: Duvida em arduino: Leitura de comandos em hexa da consola do arduino  (Lida 1183 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline nvoltex

  • Mini Robot
  • *
  • Mensagens: 211
Ora boas,

Eu precisava de ler alguns comandos em hexadecimal introduzidos na consola do arduino.

Alguém sabe como o fazer?

EDIT: Esqueci-me de um facto importante: quero ler apenas comandos com dois caracteres, ou seja: entre 00 e FF.
« Última modificação: 22 de Outubro de 2013, 17:03 por nvoltex »

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.283
    • Tróniquices
Re: Duvida em arduino: Leitura de comandos em hexa da consola do arduino
« Responder #1 em: 22 de Outubro de 2013, 17:13 »
Vê os métodos do Serial, nomeadamento o Read e Available (não me lembro se são capitalizados).
Depois podes fazer leitura de 2 caracteres seguidos, podes ter uma variável de estado que diz se estás à espera do 1º ou do 2º caracter, e aí quando tiveres lido o 2º caracter executas o comando.

Offline msr

  • Mini Robot
  • *
  • Mensagens: 795
Re: Duvida em arduino: Leitura de comandos em hexa da consola do arduino
« Responder #2 em: 22 de Outubro de 2013, 17:15 »
Para enviares valores entre 0x00 e 0xFF só precisas de 1 byte e não de 2. Tem em conta que um "char" é um byte. Portanto, a diferença em termos de codigo do Arduino será em ler apenas 1 byte em vez de 2, e depois descodificar esse byte (switch case) para fazer qq coisa.

Offline nvoltex

  • Mini Robot
  • *
  • Mensagens: 211
Re: Duvida em arduino: Leitura de comandos em hexa da consola do arduino
« Responder #3 em: 22 de Outubro de 2013, 17:31 »
O problema está em que eu quero usar o valor lido em hex para definir o duty cycle de um sinal PWM. Eu já consegui arranjar uma forma de armazenar o que vem do serial monitor (usando uma combinação das funções que  Njay falou). Mas tive de armazenar o valor numa string. Como posso tornar este falar num valor de input do analogWrite? Btw, pelo que parace o analogWrite lê o valor em hex, portanto isso não seria um problema.

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.283
    • Tróniquices
Re: Duvida em arduino: Leitura de comandos em hexa da consola do arduino
« Responder #4 em: 22 de Outubro de 2013, 19:21 »
Para converter podes usar a strtol (#include <stdlib.h>).