Serial ou USB

Programação Delphi e Pascal

Moderadores: 51, guest2003

Serial ou USB

Mensagempor jack sparrow » 02 Jan 2010 00:52

Bom dia,

Estou fazendo um produto com um microcontrolador e preciso fazer uma comunicação (serial ou preferencialmente USB)com PC, gostaria de aproveitar a expereiência dos colegas para saber se seria mais vantagem fazer o programa do PC em Delphi ou Visual Basic e como não tenho nenhum conhecimento em nenhum dos dois gostaria de sugestões de literatura para iniciar o aprendizado em um deles ou até mesmo um bom curso.

Obrigado
jack sparrow
Bit
 
Mensagens: 25
Registrado em: 25 Jul 2007 01:02

Re: Serial ou USB

Mensagempor andre_luis » 02 Jan 2010 08:46

Tem vários exemplos prontos no site abaixo :

www.rogercom.com

É só baixar e se inspirar.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Wagner de Queiroz » 04 Jan 2010 07:11

Jack,

trabalhar com USB (mesmo conversor serial USB) não é muito complicado no Delphi, eu recomendo voce tentar uma ferramenta opensource para programar.

Não sei o seu nível de conhecimento em Delphi/VB. Existem alguns cursos na internet de delphi e talvez até de VB.

Como ferramenta opensource com código para delphi, eu recomendo usar o Lazarus.

http://www.lazarus.freepascal.org

O Link sobre como o Lazarus pode ser usado para falar com hardware esta abaixo:

http://wiki.lazarus.freepascal.org/Hardware_Access/pt

boa sorte, Jóvem!
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor Djalma Toledo Rodrigues » 04 Jan 2010 09:43

Serial já esta obsoleto - Nots geralmente não possuem , alguns PCs idem

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Wagner de Queiroz » 04 Jan 2010 09:57

A serial nao esta morta, esta mais viva que nunca.

Geralmente hj ela vem disfarsada numa interface USB. Muitos cabos de celular sao conversores usb serial. No PC é reconhecido como uma porta COM. meu note nao tem serial, mas tenho uns 4 conversores usb serial em uso.
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor msamsoniuk » 04 Jan 2010 10:15

mas tem uma distancia imensa e intransponivel entre os device drivers para uma serial assincrona normal e uma serial assincrona simulada via usb, nao eh? comunicacao entre PC e mcu eh um negocio que anda dando tanta dor de cabeca que eu jah ando pensando que soh vale a pena usar ethernet hoje em dia. usb e serial soh para bootar e olhe lah!

Wagner de Queiroz escreveu:A serial nao esta morta, esta mais viva que nunca.

Geralmente hj ela vem disfarsada numa interface USB. Muitos cabos de celular sao conversores usb serial. No PC é reconhecido como uma porta COM. meu note nao tem serial, mas tenho uns 4 conversores usb serial em uso.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 04 Jan 2010 10:42

depois o seu chará, guest2003 me chinga de guy very xiita.;;;

cara, nunca tive problemas com usb...
até o linux, que eu nem sei como é, só mandei um arquivo que achei na net pro mala, e o device ja funcionou....
usb é muito simplão tchelo, muito mesmo....
Eu uso um drive propriotário que eu criei para linha 18f da micoxipe, e para o PC eu uso o delphi um arquivo que tem uma DLL, cuja o criador não esquenta pra qual intuito vai usar..

mau humor do homi sô..

hehe

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Wagner de Queiroz » 04 Jan 2010 11:18

Marcelo Samsoniuk escreveu:mas tem uma distancia imensa e intransponivel entre os device drivers para uma serial assincrona normal e uma serial assincrona simulada via usb, nao eh? comunicacao entre PC e mcu eh um negocio que anda dando tanta dor de cabeca que eu jah ando pensando que soh vale a pena usar ethernet hoje em dia. usb e serial soh para bootar e olhe lah!



vai comparar o custo de uma ethernet com o custo de usb+serial?

Nao falo do carissssssimo FT232, um amigo me sugeriu e to gostando, cabo de celuar (conversor USB serial) por 2 dolares na china ou 12 reais na sta efigenia.

Ethernet é uma boa pedida, mas o custo do hardware ainda é pesado para mim.
Seja Livre, Use Linux
Avatar do usuário
Wagner de Queiroz
Word
 
Mensagens: 872
Registrado em: 11 Out 2006 13:38
Localização: Barueri-SP

Mensagempor vtrx » 04 Jan 2010 11:35

jack,se voce sabe ou pretende programar em Delphi ou VB,a comunicação é extremamente fácil.
A comunicação USB/Serial adaptada ou não é uma medida eficaz.
Começe pela serial e depois use as alternativas para USB.
Avatar do usuário
vtrx
Dword
 
Mensagens: 2239
Registrado em: 20 Abr 2008 21:01

Mensagempor msamsoniuk » 04 Jan 2010 14:04

poutz, mas o simples fato de vc ter q instalar um driver no windows jah ferra com tudo! :)

jah comeca que vc tem q instalar a parada no windows e nao eh padrao, entao toda semana q o cara formatar a maquina ele vai te ligar pedindo os arquivos do driver. fazer download do site do fabricante esqueca, pq nunca tem driver atualizado, jah vi o cumulo de driver de fabricante que dah conflito com service pack! o que dizer entao se o cara tem uma versao diferente do sistema operacional? diferente q eu digo pode ser tanto um openbsd q nao tem o driver pronto quando um windows server 2000 com service pack 2.5-xyz recheado com device drivers de tudo q eh coisa pq o cara quis comprar um servidor ferradao. normalmente esse caso vem com o combo de problemas variados, tipo chipset usb obscuro com a feature nao documentada que dah pau no dma quando vc usa de determinado jeito (coincidentemente vc vai usar logo desse jeito) ou com determinado conversor usb/serial (e nao menos coincidentemente, deve ser o que vc vai usar!).

convenhamos, nao chega jamais perto da limpeza e precisao de uma conexao ethernet, onde vc tem tudo disponivel por padrao em qualquer sistema operacional, tanto os antigos quanto os novos, incluindo os que ainda nem foram criados! se vc estiver preocupado com o browser q o cara vai usar, pode ateh nivelar por baixo e deixar apenas um telnet disponivel na porta 23, mais antigo, padronizado e simples que andar para frente :)

outra coisa q eu vejo eh a questao de performance. quando eu mexo com serial isso cedo ou tarde acaba impactando, pq mesmo nao tendo boa performance na serial, isso jah comeca a pegar. quando vc migra de serial para usb levando a mesma API, vc leva a limitacao de performance junto... se for usar uma API melhor, vc vai ter complicacao para o resto da vida.

mesmo usando uma usb a 480mbit/s, acho que a performance da API realmente nao chega perto de uma gigabit ethernet operando a 1000 mbit/s full-duplex. e mesmo para solucoes simples, tem componentes com phy ethernet integrado q acabam custando o mesmo q um componente similar com usb otg, mas sem a parte da dor de cabeca.

fabim escreveu:depois o seu chará, guest2003 me chinga de guy very xiita.;;;

cara, nunca tive problemas com usb...
até o linux, que eu nem sei como é, só mandei um arquivo que achei na net pro mala, e o device ja funcionou....
usb é muito simplão tchelo, muito mesmo....
Eu uso um drive propriotário que eu criei para linha 18f da micoxipe, e para o PC eu uso o delphi um arquivo que tem uma DLL, cuja o criador não esquenta pra qual intuito vai usar..

mau humor do homi sô..

hehe

Fabim
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 04 Jan 2010 14:25

manézao, eu uso usb hid. ou seja sem drives.....rssrs

para o pc, soft pc, eu uso um projeto que criei no delphi que so tem um form os uses, e uma dll..
Quando mando o projeto pro clientario , vai só um exe e a dll. Espetou o pic, pumba, rodou pois é HID.
Eu tenho um aplicativinho que fiz a um tempo pra brincar, mais não gostei pois não passou de 38400.
ao executar o EXE, ele cria um COM virtual, no ruwindows, tu vai no software que trabalha com serial e configura para este comX. Este EXE ao receber algo pela COM virtual que criou, manda pra fora pela usb... Vice e versa.
Mais não consegui descobrir porque não passava de 38400, aí desisti..


á sim, ia esquecendo..

Código: Selecionar todos
mesmo usando uma usb a 480mbit/s, acho que a performance da API realmente nao chega perto de uma gigabit ethernet operando a 1000 mbit/s full-duplex. e mesmo para solucoes simples, tem componentes com phy ethernet integrado q acabam custando o mesmo q um componente similar com usb otg, mas sem a parte da dor de cabeca.

isso é mais pura e simploria mentira da atualidade, .....
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor msamsoniuk » 04 Jan 2010 14:44

sem device driver eu soh vi funcionar teclado, mouse e dispositivo de armazenamento... como vc consegue fazer sem device driver?!? se o dispositivo aparecer como uma serial mesmo, seria melhor (como uma COMx no windows e ttySx nos unixes).

mas isso resolve para problemas mais simples, por exemplo, gravar um hc908 ou blackfin, q eh feito via serial. para transferencia de dados com velocidades maiores, nao vejo como fazer sem meter a mao na massa e ter uma dor de cabeca imensa.

tipo ligar uma camera de video de alta resolucao. via ethernet ficaria muito mais simples e robusto!

fabim escreveu:manézao, eu uso usb hid. ou seja sem drives.....rssrs

para o pc, soft pc, eu uso um projeto que criei no delphi que so tem um form os uses, e uma dll..
Quando mando o projeto pro clientario , vai só um exe e a dll. Espetou o pic, pumba, rodou pois é HID.
Eu tenho um aplicativinho que fiz a um tempo pra brincar, mais não gostei pois não passou de 38400.
ao executar o EXE, ele cria um COM virtual, no ruwindows, tu vai no software que trabalha com serial e configura para este comX. Este EXE ao receber algo pela COM virtual que criou, manda pra fora pela usb... Vice e versa.
Mais não consegui descobrir porque não passava de 38400, aí desisti..


á sim, ia esquecendo..

Código: Selecionar todos
mesmo usando uma usb a 480mbit/s, acho que a performance da API realmente nao chega perto de uma gigabit ethernet operando a 1000 mbit/s full-duplex. e mesmo para solucoes simples, tem componentes com phy ethernet integrado q acabam custando o mesmo q um componente similar com usb otg, mas sem a parte da dor de cabeca.

isso é mais pura e simploria mentira da atualidade, .....
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor msamsoniuk » 04 Jan 2010 15:23

fabim escreveu:
á sim, ia esquecendo..

Código: Selecionar todos
mesmo usando uma usb a 480mbit/s, acho que a performance da API realmente nao chega perto de uma gigabit ethernet operando a 1000 mbit/s full-duplex. e mesmo para solucoes simples, tem componentes com phy ethernet integrado q acabam custando o mesmo q um componente similar com usb otg, mas sem a parte da dor de cabeca.

isso é mais pura e simploria mentira da atualidade, .....


hehehe encare os fatos: sao 1Gbps full-duplex contra 480Mbps half-duplex... e ethernet eh agnostico a velocidade, vc pode espetar um dispositivo de 10Mbps, 100Mbps, 1Gbps e 10Gbps no mesmo switch e cada porta vai operar na sua maxima velocidade, ou seja, o dispositivo de 10Mbps nao vai fazer o dispositivo de 10Gbps nivelar na velocidade mais baixa, justamente pq o switch possui buffers para sincronizar diferentes dominios de relogio, coisa q eu imagino que nao eh possivel com um hub USB.

daih tem a parte de device driver: em ambos os casos possivelmente vc tem ring-buffers para melhorar performance de rx e tx, embora ethernet se saia melhor nesse aspecto pelo fato de ter caminhos de rx e tx totalmente independentes. soh que esse fato melhora a performance da ethernet pq ela eh agnostica em relacao a sincronismos: vc pode transmitir quantos frames de tx quiser independente dos frames de rx. isso significa que vc pode sustentar taxas de transferencia unidirecionais gigantes sem se preocupar com feed-back do lado remoto.

do ponto de vista de aplicacao, a estrutura criada para trabalhar com ethernet normalmente envolve linkar buffers em listas encadeadas, sem mover dados. isso eh possivel pq o que ethernet carrega sao protocolos encapsulados um no outro, assim eh possivel encapsular, desencapsular e processar protocolos analisando apenas cabecalhos especificos, sem mover os dados na memoria. dependendo do caso, vc tem acesso a isso ateh mesmo no nivel de aplicacao, o que acelera muito o processamento quando comparado com o metodo classico utilizado por perifericos classicos (como o proprio usb).

e o legal de vc interfacear algo via ethernet eh o device driver totalmente gratis com dor de cabeca zero via socket de rede... e veja soh que ironia, compativel com todos os sistemas operacionais do passado, presente e futuro, inclusive com os que ainda nem existem! =)

sobre o mcu com phy fast-ethernet integrado, custa miseros 8 dolares:

http://octopart.com/parts/search?q=MCF52236&js=on

daih eh soh adicionar o trafo e conector RJ45.
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Serial

Mensagempor jack sparrow » 02 Fev 2010 20:54

Agradeço a todos a atenção, demorei para resper por um pequeno problema de saúde, mas já estou na ativa novamente.
jack sparrow
Bit
 
Mensagens: 25
Registrado em: 25 Jul 2007 01:02

Mensagempor fabim » 03 Fev 2010 08:41

marsãm.
Tava falando dos 480Mbps da usb 2.0!!!
Rapaiz mais nem em sonho, eles informaram que pode chegar a 480Mbps, por causa de caracteristicas eletricas, mais na real. Nada disso pode acontecer, até porque os controladores Host não tem bala na agulha pra resolver isto.!!!

Abraços
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Próximo

Voltar para Delphi e Pascal

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x