jorgeluiz escreveu:para melhorar a resoluçao, coloque a tensao de referencia positiva em 0,512 Volts (a negativa = gnd), com um trimpot de 10k.
Jorge, o pic não gosta de tensões de referencia menor do que VDDali/2. A segurança é esse limite. Eu ja tive um pic com 1.024V de Vref que funcionou no Vref diferencial, mais não funcionou em outro pic de mesmo P/N.
Amigo, não existe C para pic.
C = C que é C, em qualquer uControlador, e não se falam mais nisso.
Agora primo, esse negocio que C é mais lento e sei lá o que. Varia muito do compilador e do montador da IDE.
CCS, HITEC C. Sim, por não serem totalmente ANSI C, os cabras que desenvolveram as IDES, colocam uma pá de macro, de rotina local até pra fazer swapf girando os bits entre duas variaveis.
em asm por exemplo.
MOVFW ADRESH 2 ciclos
MOVWF VAR1 1 ciclo
MOVFW ADRESL 2 ciclos
MOVWF VAR2 1 ciclo
em C.
var1 = ADRESH;
VAR2 = ADRESL;
O mikroc tradus isso ai para.
MOVF ADRESH,W 2 ciclos
MOVWF VAR1 1 ciclo
MOVF ADRESL,W 2 ciclos
MOVWF VAR2 1 ciclo
Viu alguma diferença ?
Cara assim, quando falamos do hW do uC, ANSI C = ASM de alto nivel. Você meche diretamente no periferico que você quer, sem nenhum tipo de sub ou makro.
Quer saber para que é bom usar o C?
olha o exemplo pro negocio ai do menino.
int result
float var;
var = adc_read(0)*(5000.00/1024);
result = (int )(var / 0.010)
result vai de 1 a 500, que é de 1 a 500°C.
Isso diretamente, se aumentar a resolução ai fica mais legal os calculos.
Agora, faça isso ai em ASM!! vai ter uma pá de linha, de rotinas que vocÊ vai pegar na net, e não tem certeza que funcionam. Agora, C, funciona, e, a cada novo lançamento de uma nova IDE. Pode ter certeza que os desenvolvedores conseguiram melhorar algo no qeu diz respeito a calculos e etc.
Abraços e good LUCK!!!
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!