Como gerar PWM no Delphi ?

Olá amigos. Não estou conseguindo gerar uma saída PWM pelo Delphi. Tenho um programa host que envia dados via USB para um protótipo microcontrolado. Um comando ativa uma saída do dispositivo, outro comando desativa. Esta saída controla um motor 12 v.
Tentei o comando sleep dentro de um timer, sem sucesso. Até funciona mas aos trancos. O motor não tem um controle linear. Fiz assim:
procedure ttimer.ontimer;
begin
ligamotor;
sleep(5);
paramotor;
sleep(5);
end;
O timer setado em 10ms. Fiz inúmeras tentativas com valores diversos no
comando sleep e set do timer.
Utilizei uma rotina Delay utilizando o GetTickCount para substituir o sleep, mas também sem sucesso.
Alguém tem alguma dica ? Desde já agradeço.
Fernando Barcellos
Tentei o comando sleep dentro de um timer, sem sucesso. Até funciona mas aos trancos. O motor não tem um controle linear. Fiz assim:
procedure ttimer.ontimer;
begin
ligamotor;
sleep(5);
paramotor;
sleep(5);
end;
O timer setado em 10ms. Fiz inúmeras tentativas com valores diversos no
comando sleep e set do timer.
Utilizei uma rotina Delay utilizando o GetTickCount para substituir o sleep, mas também sem sucesso.
Alguém tem alguma dica ? Desde já agradeço.

Fernando Barcellos