Quarta-feira, 6 de Fevereiro de 2008

Cerial Come - porta série no Director



O Xtra CerialCome foi desenvolvido após constatar a dificuldade em adquirir de forma gratuita uma solução que possibilitasse o Lingo aceder ao protocolo RS232, essencial na comunicação com os microcontroladores.
A partir do código-fonte de um Xtra já existente, do projecto Ezio, foi criado um interface simples e standart que permite ao programador escrever e ler na porta série de um PC através do Director.

download CERIALCOMXtra.x32 [guardar como]

Instalação
Copiar e colar onde se encontra instalado o Director na directoria dos xtras
Exemplo:
C:\Programas\Macromedia\Director MX 2004\Configuration\Xtras\Scripting\CERIALCOMEXtra.x32

Funcionalidades
O Xtra CerialCome disponibiliza 4 procedimentos ou funções:

Init( integer porta, string config)
descrição: inicializa a porta série, devendo ser chamada uma única vez no início do projecto.
A função devolve o valor lógico True ou False consoante conseguiu ou não inicializar a porta com sucesso.
exemplo:
global com
on startmovie
  com = new xtra ("CERIALCOMEXtra")
  put com.Init(1,"4800,N,8,1")
end
Este exemplo abre a porta série nº1 com uma Baud Rate de 4800, sem controlo de fluxo, dados de 8 bits e com usando 1 stop bit.



Le()
descrição:  devolve um byte da buffer de input.
exemplo:
on enterFrame me
  global com
  com.LimpaInput()
  put "recebido da porta série:" & com.Le()
end



Escreve( integer byte)
descrição: coloca um byte na buffer de output da porta série.
exemplo:
on enterFrame me
  global com
  repeat with a=1 to 10
      com.Escreve(a)
  end repeat
end
O excerto de código anterior envia pela porta série os números de 1 a 10

LimpaInput()
descrição: apaga todos os bytes que existam na buffer de input.
Quando um microcontrolador envia constantemente dados pela porta série (broadcast),
esta função é útil para evitar que a recepção por parte do Lingo se "atrase". A solução é descartar todos os dados excepto o último, que é sempre o mais recente. Ver exemplo da função Le().


Limitações
- Não existe uma função para fechar a porta série.
- A função Le e Escreve são "Blocking", i.e. bloqueiam a execução do Lingo até que termine a sua própria execução. Caso o micro-controlador não responda, a instrução Le pendura a aplicação.
- Apenas para Win32.
tags:
publicado por nop às 19:11
link do post | comentar | favorito
|

pesquisar

 

tags

arduino

c/c++

codebits

deca

director

flash

iniciação

maa

materiais

mobile

oficina

opencv

relé

tui

ua

todas as tags

recentes

O NOP mudou de casa :)

Museu Municipal Penafiel ...

Mylamp - tutorial

Materiais - iniciação

Multimédia em Ambientes A...

Usa a cabeça - jogo do po...

Arduino - acelerómetro - ...

Arduino - input analógico...

Arduino - sonar Maxbotix...

Arduino - input analógico...

arquivos

Novembro 2012

Abril 2009

Outubro 2008

Setembro 2008

Abril 2008

Fevereiro 2008

links