por fabim » 27 Jan 2010 15:03
INTÃO, comegrama.
sfr unsigned short volatile ADCON1 absolute 0x009F;
vou te ensinar uma mainha, pra qualquer compilador.
Suponha que tu ja esta acostumado com um determinado nome para o registrador.
E que por exemplo do C18 para o mikroC, você observou que mudou o nome.
antes era ANSEL. Analogs Selection.
Só que no datasheet, este registrador se chama ADCON1.
Analog Digital Control 1.
E que no datasheet, tambem indica em qual endereço ele está.
no caso.
sfr unsigned short volatile ADCON1 absolute 0x009F;
ou seja, esta no endereço 0x009f;
Agora mentalise o seguinte marciano, são escritos nomes e anexados a numeros, só que isso é feito para linguagem humana.
Nada me impede de eu fazer
0x009f = 0x15;
Isto se o compilador for inteligente, agora se ele for burro.
tu pode muito bem fazer o seguinte.
#define ANSEL 0x009f.
ou avisar para o compilador que é um registrador, e volatil.
unsigned short volatile ADCON1 absolute 0x009F;
esta sintaxi muda de uma IDE para outra, para saber como é a sintaxi, basta procurar por volatile no help do registrador que esta usando.
Tendeu ?
Ou seja, ANSEL, e ADCON1 = seleciona pinos como analogico ou digital.
Abraços
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!