Moderadores: andre_luis, 51, guest2003, Renie
Sergio38br escreveu:Dei uma olhada no codigo do dany, no MikroP o projeto compilou sem nenhum warming??
{ ]'s
Sergio
int *port_a = endereco_port_a;
pisca_led()
{
porta_a = 0;
while(1) *porta_a ^= 1;
}
volatile int *port_a = endereco_port_a;
pisca_led()
{
porta_a = 0;
while(1) *porta_a ^= 1;
}
fabim escreveu:tudo bem, tchelo.?!
Então manito, isso aí eu ja tinha entendido..
Meu problema é como definir isto.
Peguei um exemplo que o jean me passou, mais o mikroC não esta entendendo.
Defini desta forma ó...
unsigned int register volatile
BDEP0OUTStat absolute 0x0400;
peguei o exemplo no .def dos pic´s que tem na pasta def´s do mikroC.
Mais o compilador esta me dizendo isso aqui ó
numero da mensagem de erro = 11
mensagem. ";" expected but volatile found
unsigned short register volatile
ADCON0 absolute 0x0FC2;
unsigned short register
ADCON1 absolute 0x0FC1,
ADCON2 absolute 0x0FC0;
unsigned short register volatile
ADRES absolute 0x0FC3;
unsigned short register volatile
ADRESH absolute 0x0FC4;
unsigned short register volatile
ADRESL absolute 0x0FC3;
unsigned short register
BAUDCON absolute 0x0FB8,
BSR absolute 0x0FE0,
CCP1AS absolute 0x0FB6;
var
BDEP0OUTStat : byte; absolute $400; volatile;
BDEP0OUTCnt : byte; absolute $401; volatile;
BDEP0OUTAdr : word; absolute $402; volatile;
BDEP0INStat : byte; absolute $404; volatile;
BDEP0INCnt : byte; absolute $405; volatile;
BDEP0INAdr : word; absolute $406; volatile;
BDEP1OUTStat : byte; absolute $408; volatile;
BDEP1OUTCnt : byte; absolute $409; volatile;
BDEP1OUTAdr : word; absolute $40A; volatile;
BDEP1INStat : byte; absolute $40C; volatile;
BDEP1INCnt : byte; absolute $40D; volatile;
BDEP1INAdr : word; absolute $40E; volatile;
void CopyBufferDescriptor(void){
unsigned short *Src, *Dst;
unsigned short Tmp, I;
Src = 0;
Tmp = ((USTATCopy >> 2) & 0x1F); // get Endpoint and direction
switch (Tmp){
case 0: // EP0 OUT
Src = &BDEP0OUTStat;
break;
case 1: // EP0 IN
Src = &BDEP0INStat;
break;
case 2: // EP1 OUT
Src = &BDEP1OUTStat;
break;
case 3: // EP1 IN
Src = &BDEP1INStat;
break;
}
if (Src != 0){ // copy endpoint descriptor
Dst = &BufferDescriptor;
for (I = 0 ; I = (sizeof(BufferDescriptor) - 1)); I++){
*Dst = *Src;
Dst++;
Src++;
}
}
}
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante