Eu gosto muito do C++ BUILDER amigo, acho que por ser uma ferramenta de programação dedicada a interface fica devendo algumas outras coisas como por exemplo esse problema que estou enfrentando.
Qual programa outra plataforma você me indicaria pra terminar meu projeto} delphi?
Pois é, o Windows foi feito basicamente para ser uma grande interface gráfica.... Acredito que o C++ Builder vai um pouco nessa linha. O Builder também possui funções de gerenciamento de arquivos, redes, imagem, som, ... mas tempo real mesmo é uma outra história. Aplicações de tempo real requerem mais controle do PC (para garantir a temporização) e isso é uma coisa na contramão do que o Windows faz, que é também ter controle da máquina, mas dentro desse contexto de interface gráfica.
Tirei esse trecho da página da Microsoft (
http://support.microsoft.com/kb/22523):
Windows não oferece suporte a programação em tempo real
Em nenhum sentido pode Microsoft Windows ser considerada um sistema "em tempo real". Ele é um sistema orientado a mensagem, pesquisa de evento, com o agendamento nonpreemptive.
O Windows é um sistema que essencialmente baseia-se em eventos do tipo: cliques e rolagem do mouse, acionamento do teclado, ....), ou seja, interface com o usuário. Já sistemas de tempo real precisam atender a restrições de tempo de resposta, eventos periódicos, baixo tempo de latência, priorização de interrupções, preempção, ....
Já fiz alguns programas em VB 3.0 em Windows 3.11, que efetuavam controle do tipo PID (proporcional, integral, derivativo) em malha fechada (bons tempos...) acho que o mais rápido era 100 ou 200 ms. Acho que isso só era possível porque, essas primeiras versões de Windows eram "cascas gráficas" em cima do DOS.
Bem vindo à "selva"...
OOOPPPPAAAA!!!! é nessa selva que eu estou ja quase morrendo, vou ter que ver como faço pra sobreviver
Para usar o Windows, tem que fazer alguns truques "sujos"...
Pelo meu modo de ver o tio bill gates se encarregou de deixar a nossa vida muito pior na versao do winxp....
Não acho que o Bill Gates esteja muito interessado no mercado de sistemas de tempo real (acredito que o mercado é relativamente pequeno face aos sistemas de multimídia, jogos, ...). Mas também não tenho experiência em programar em Windows nesse nível de milissegundos, para controlar um motor de passo. Aliás, acho que é uma tarefa hercúlea e que requer muitas ferramentas, compiladores e conhecimentos mais específicos. E também creio que o esforço para uma atividade de programação em tempo real, do tipo hobby, teria mais retorno usando o DOS (Ex.: FreeDOS) ou o Linux.
Uma outra abordagem é tratar o Windows naquilo que é mais indicado, que é ser uma boa interface com o usuário e acoplar a esse sistema um outro processador (PIC, PC) para as aplicações de baixo nível e de baixo tempo de resposta. Nesse sistema poderia ser empregado DOS, LINUX ou nenhum sistema operacional.