MikroPascal

Software e Hardware para ATMEL

Moderadores: 51, guest2003, brasilma

MikroPascal

Mensagempor sandrini » 08 Ago 2007 10:50

Alguém utiliza ou já utilizou o compilador MikroPascal da Mikroe?

Eu estou tentando fazer a conversão de 3 AD's e pelo método do compilador (ADC := ADC_read(0)) funciona, mas quando você faz a leitura de outros canais, eles ficam meio loucos e mostra o resultado do ADC3 no ADC1 e vice-versa....
Resolvi fazer "na mão" a conversão... tudo bem, deu certo, só que não consigo ler o ADCL, somente o ADCH.

Alguém tem idéia de como resolver isso????

Grato
sandrini
Nibble
 
Mensagens: 65
Registrado em: 12 Out 2006 10:16

Mensagempor RobL » 08 Ago 2007 16:58

Infelizmente nunca usei. Venho é lhe perguntar, por curiosidade:
Por que usar um compilador em Pascal, visto que dispomos de tantos outros em C, inclusive free?
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor sandrini » 08 Ago 2007 21:44

Eu estava tendo uns problemas com relação ao tempo no WinAVR e também o acesso à porta A... fora isso ele funciona muito legal...
Eu optei por utilizar o MikroPascal tendo em vista já programar em Delphi e também porque gosto de programar em Pascal... e, é claro, tenho a licença do mikropascal.... então uni o útil ao agradável, certo? :)
Bem de qualquer maneira, consegui fazer funcionar a leitura do AD corretamente... fiz uma rotina em assembler mesmo e deu certo.

Se alguém precisar, aí está a rotina:
Código: Selecionar todos
//**** Essas variáveis devem ser declaradas globalmente
var adc1,adc2:integer;
   
function Le_ADC(n:byte):integer;
var adc:integer;
begin
   ADMUX := $40 or n;
   asm
      LDI R16, 0XC5
      OUT ADCSRA,R16
     
      esp_ADC:
              SBIC ADCSRA,6
              RJMP esp_ADC
              IN R16,ADCL
              STS _adc1,R16
              IN R16,ADCH
              STS _adc2,R16
             
      LDI R16, 0X05
      OUT ADCSRA,R16
   end;
   
   adc:= adc2 shl 8;
   adc:= adc or adc1;
   result := adc;
end;
sandrini
Nibble
 
Mensagens: 65
Registrado em: 12 Out 2006 10:16


Voltar para AVR

Quem está online

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

x