Página 1 de 1
MIKROC - A ME**A ....main function is not defined

Enviado:
12 Set 2009 20:31
por cristian
posso estar fazendo tudo errado mas este compilador nao me desce
esta me**a ta me deixando louco alguem pode me dizer onde esta o erro neste codigo pois foi copiado do exemplo do mikroc
pois da oo seguinte erro
""""main function is not defined """ queria saber q me**a é essa podem elogia este compilador mas nao vejo nada de mais muito complexo ou eu sou muito BURRO e so me dou bem com CCS esta é minha segunda tentativa de mudar para MIKROC
void main()
{
ANSEL = 0; // Set AN pins to Digital I/O
ANSELH = 0;
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
OPTION_REG = 0x80; // Timer0 settings
digit = 0;
portd_index = 0;
shifter = 1;
TMR0 = 0;
INTCON = 0xA0; // Enable GIE, T0IE
PORTA = 0;
TRISA = 0; // Set PORTA as output
PORTD = 0;
TRISD = 0;
while (1)
{
switch (mode)
{ case :0 ;
delay_ms(20);
case :1 ;
}
}//while
}
me desculpe as me**as é que preciso terminar um codigo e pensei q este compilador me ajudaria

Enviado:
12 Set 2009 21:39
por proex
void main() ?
Creio que isso nao funciona nesse compilador.
Tente: int main(void)

Enviado:
12 Set 2009 21:42
por barboza
tenta
int main (void)
{
}

Enviado:
12 Set 2009 21:54
por proex
Eheheh, nao é nada disso.
Ta faltando o comando break em algum lugar ai. (e termine de construir a função switch)
.

Enviado:
12 Set 2009 21:56
por cristian
exemplo do mikro c ....este funciona
void main() {
ADCON1 |= 0x0F; // Configure AN pins as digital
CMCON |= 7; // Disable comparators
TRISA = 0; // set direction to be output
TRISB = 0; // set direction to be output
TRISC = 0; // set direction to be output
TRISD = 0; // set direction to be output
TRISE = 0; // set direction to be output
TRISF = 0; // set direction to be output
TRISG = 0; // set direction to be output
TRISH = 0; // set direction to be output
TRISJ = 0; // set direction to be output
do {
PORTA = 0x00; // Turn OFF LEDs on PORTA
PORTB = 0x00; // Turn OFF LEDs on PORTB
PORTC = 0x00; // Turn OFF LEDs on PORTC
PORTD = 0x00; // Turn OFF LEDs on PORTD
PORTE = 0x00; // Turn OFF LEDs on PORTE
PORTF = 0x00; // Turn OFF LEDs on PORTF
PORTG = 0x00; // Turn OFF LEDs on PORTG
PORTH = 0x00; // Turn OFF LEDs on PORTH
PORTJ = 0x00; // Turn OFF LEDs on PORTJ
Delay_ms(1000); // 1 second delay
PORTA = 0xFF; // Turn ON LEDs on PORTA
PORTB = 0xFF; // Turn ON LEDs on PORTB
PORTC = 0xFF; // Turn ON LEDs on PORTC
PORTD = 0xFF; // Turn ON LEDs on PORTD
PORTE = 0xFF; // Turn ON LEDs on PORTE
PORTF = 0xFF; // Turn ON LEDs on PORTF
PORTG = 0xFF; // Turn ON LEDs on PORTG
PORTH = 0xFF; // Turn ON LEDs on PORTH
PORTJ = 0xFF; // Turn ON LEDs on PORTJ
Delay_ms(1000); // 1 second delay
} while(1); // Endless loop
}
Re: MIKROC - A m**** ....main function is not defined

Enviado:
12 Set 2009 22:19
por Djalma Toledo Rodrigues
cristian escreveu:ANSEL = 0; // Set AN pins to Digital I/O
ANSELH = 0;
ANSEL?
.

Enviado:
12 Set 2009 22:29
por barboza
proex escreveu:Eheheh, nao é nada disso.
Ta faltando o comando break em algum lugar ai. (e termine de construir a função switch)
.
É realmente, não tinha lido o codigo, mas o seu switch esta sem break algum.
Tente retirando o switch ou consertando-o.

Enviado:
13 Set 2009 07:50
por cristian
TIREI TUDO

Enviado:
13 Set 2009 14:22
por Djalma Toledo Rodrigues
ANSEL?
Não seria ANSELL ?

Enviado:
13 Set 2009 14:41
por fabim
void main(void){
ANSEL = 0; // Set AN pins to Digital I/O
ANSELH = 0;
C1ON_bit = 0; // Disable comparators
C2ON_bit = 0;
OPTION_REG = 0x80; // Timer0 settings
digit = 0;
portd_index = 0;
shifter = 1;
TMR0 = 0;
INTCON = 0xA0; // Enable GIE, T0IE
PORTA = 0;
TRISA = 0; // Set PORTA as output
PORTD = 0;
TRISD = 0;
while (1) {
switch (mode) {
//case :0 ; << ????
//delay_ms(20);
//case :1 ;// <<<<comé ?
case 0:
delay_ms(20);
break;
case 1:
delay_ms(40);
break;
case 2:
delay_ms(60);
break;
case 3:
delay_ms(80);
break;
case 4:
delay_ms(100);
break;
default:
delay_ms(1000);
break;
} //end switch
}//end while
}//end main
mikroC´s versões antigas, todas as libys eram buscadas e compiladas durante o trabalho do montador e gerador hex.
MikroC PRO 2009 VXXX.
Do lado direito da tela, tem uma aba de biblioteca.
Quando se cria o novo projeto, as libys estão todas desmarcadas, é necessario marcar as bibliotecas que vai utilizar, caso contrario a IDE não busca a liby e fala que o comando é desconhecido etc.
1° ABA lateral direita, superior.."library mananger"
bom´s
switchs value
case: qualquer um!!
ehehehe
Abraços
GOOD LUCK
Fabim

Enviado:
13 Set 2009 15:20
por proex
O Fabim é experto, manja tudo de Mikroc esse menino, e ainda cobra barato, faz de tudo e tem uma motinho Scooter.
.

Enviado:
16 Set 2009 08:13
por cristian
obrigado a todos pela ajuda mas nao achei o problema pegeui um codigo q ja fucniona e editei
mesmo assim obrigado

Enviado:
16 Set 2009 08:25
por barboza
cristian escreveu:obrigado a todos pela ajuda mas nao achei o problema pegeui um codigo q ja fucniona e editei
mesmo assim obrigado
Outra coisa que percebi no seu código original além da falta dos
break, é a construção dos cases.
- Código: Selecionar todos
case : 0 ;
O certo é
: após a constante.
- Código: Selecionar todos
case 0 :
A declaração das variáveis não aparece no seu post, mas não acredito que seja este o problema.