collapse

* Posts Recentes

Fabricação de ferramenta de corte por zordlyon
[Ontem às 00:23]


SCT-013 + i2c eeprom, Gravar e Ler dados. por dennis_boy
[23 de Abril de 2018, 21:43]


Controlar Motor AC por senso
[23 de Abril de 2018, 12:34]


Apresentação do Legendary Urban Hacker por Sarat
[23 de Abril de 2018, 00:24]


Redes LoRa por ralex
[22 de Abril de 2018, 22:53]


Canal de video aulas no youtube! por zkreamer
[22 de Abril de 2018, 21:58]


Nueva en el Foro!!!!!!!! me presento!! por zkreamer
[22 de Abril de 2018, 21:48]


Alguem usa as libs md_max72xx e md_parola ? por vasco
[21 de Abril de 2018, 23:44]


Paineis Fotovoltaicos para Autoconsumo (Kits EDP)? por KammutierSpule
[20 de Abril de 2018, 13:42]


Como repôr posições dos Icones/Pastas no Desktop W8? por senso
[19 de Abril de 2018, 23:55]

Autor Tópico: Serial - Evento disparado?  (Lida 938 vezes)

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

Offline SJD22

  • Mini Robot
  • *
  • Mensagens: 660
Serial - Evento disparado?
« em: 28 de Dezembro de 2011, 00:12 »
Existe alguma forma de configurar um evento que seja disparado quando sao recebidos dados de uma porta serial num atmega1280?

Se calhar estou a pensar demasiado alto-nivel... Mas dava jeito receber uma espécie de notificação quando estivessem disponiveis dados na porta serie e nao estar em loop a ver o available() > 0.

Obg

Offline SJD22

  • Mini Robot
  • *
  • Mensagens: 660
Re: Serial - Evento disparado?
« Responder #1 em: 28 de Dezembro de 2011, 00:16 »
Reparei agora que no site do arduino falam de um evento chamado "serialEvent()".

Ao que parece ele é chamado quando existem dados disponiveis para ler...

Pergunta: se existirem dados para ler o codigo salta entao para dentro desse método e dps? Retoma a execuçao onde? Onde deixou?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.489
  • Helpdesk do sitio
Re: Serial - Evento disparado?
« Responder #2 em: 28 de Dezembro de 2011, 01:05 »
Isso é uma espécie de callback para a interrupção que recebe os dados por serial.
Avr fanboy

Offline SJD22

  • Mini Robot
  • *
  • Mensagens: 660
Re: Serial - Evento disparado?
« Responder #3 em: 28 de Dezembro de 2011, 01:16 »
ok, mas e depois o código volta para onde estava?

Já agora, estive a ler as notas da nova release do arduino e diz la que no caso do Serial.println() a informação é enviada em background. Como é isso possivel? Isto nao é multi-thread... :)

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.489
  • Helpdesk do sitio
Re: Serial - Evento disparado?
« Responder #4 em: 28 de Dezembro de 2011, 02:00 »
É assim assim, usa interrupções para enviar e para receber, actualmente só usa para receber, mas eu tenho código em C para AvrStudio para fazer isso com buffers e verificação de erros de transmissão.
Avr fanboy