osciloscopio em c++ builder

Programação C em geral

Moderadores: 51, guest2003

osciloscopio em c++ builder

Mensagempor jlandim » 26 Abr 2014 23:34

Ola pessoal gostaria da ajuda de vocês
estou estudando c gostaria de uma ideia de como desenvolver um osciloscopio em c mais exatamente a parte do traço

gostaria de sabe como e desenvolvido aquela parte ou se alguem teria um exemplo para posta


desde ja agradeço valeu
jlandim
Bit
 
Mensagens: 18
Registrado em: 09 Jun 2013 22:33

Re: osciloscopio em c++ builder

Mensagempor andre_luis » 27 Abr 2014 10:46

jlandim,


Antigamente com o barramento ISA era relativamente fácil implementar placas de captura baseadas em FPGA para serem embutidas no próprio PC pelos slots, mas nas arquiteturas atuais baseadas em PCI a coisa ficou complicada demais, e só vejo alternativa por uma captura externa, como pela Serial ou USB, mas aí você dependeria de um hardware "inteligente" externo ao PC.

Porém, programas executados em sistemas operacionais preemptivos como o Windows, possuem uma alocação de thread variável, e por isso, uma temporização numa base de tempo tão pequena como a necessária para um osciloscópio ( milisegundos ) simplesmente não iria funcionar se esse intervalo fosse gerado pelo próprio sistema.

Uma alternativa que já adotei num projeto de um simulador de ECG e que funcionou muito bem, foi a utilização de um hardware externo á cristal microcontrolado para gerar interrupção serial no PC em intervalos precisos, que por ter as IRQ prioridade de execução sobre os demais processos do Windows, assim eu garantia um tratamento imediato, eliminando os problemas de distorção da forma de onda.

Assim, pelo que observo no seu caso, seria necessário - de acordo com a mesma abordagem acima - que o PC recebesse uma interrupção serial externa, e juntamente com isso recebesse os dados da leitura de um A/D realizado pelo microcontrolador da placa de captura externa.

Sobre o traçado da curva, simplesmente traçei uma linha do último ponto para o mais recente:
Código: Selecionar todos
Form1 -> ImageCurva -> Canvas -> LineTo( Form1->px_final, Form1->py_final );

Quanto ao código completo, posso até disponibilizar aqui, mas certamente não vai compilar de primeira contigo, pois além de eu ter usado uma versão do Borland mais antiga ( Enterprise 5.0 ), também fiz uso de um componente serial externo, mas de qualquer modo, estou os anexando apenas para você poder estudar com mais calma.

Simulador_ECG.zip


+++
Você não está autorizado a ver ou baixar esse anexo.
"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

Re: osciloscopio em c++ builder

Mensagempor jlandim » 27 Abr 2014 13:29

beleza entao vc uso canvas para fazer o traço...... a respeito da aquisiçao dos dados pretendo usar um pic ligado na porta usb

mais suas informaçoes foi de vital importancia
jlandim
Bit
 
Mensagens: 18
Registrado em: 09 Jun 2013 22:33


Voltar para Visual C++/C/C++/C#

Quem está online

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

x