Página 1 de 1
Servidor Web com PIC e mikroC

Enviado:
15 Set 2009 12:52
por ffc
Olá a todos os colegas, gostaria de saber se alguém aqui já conseguiu fazer rodar os exemplos mikroC para HTTP com ENC28J60, estou usando mikroC Pro Pic v1.65 e v2.50 mais infelizmente não funciona no KIT (18F4550) até achei um .hex que funciona mais se compilar algum projeto pronto ou os que peguei na internet nenhum funciona.
Desde já agradeço.

Enviado:
15 Set 2009 13:59
por tcpipchip
Ligue teu modulo num HUB e da-lhe ETHEREAL...senao voce vai ficar louco...
http://www.ethereal.com/

Enviado:
15 Set 2009 14:54
por ffc
tcpipchip na verdade após gravar o firmware não chega nem a pingar e esta sendo ligado a um switch 10/100.
Obrigado.

Enviado:
15 Set 2009 15:54
por tcpipchip
Tentou habilitar o DHCP pelo menos para ver se ele acha o servidor ?

Enviado:
15 Set 2009 16:17
por ffc
Ele já esta sendo compilado com IP fixo na mesma faixa da minha rede e com um IP que não existe na minha rede para não dar conflitos mais tem algum macete no código que não consigo ver ainda ou compilador com problemas.Cheguei a pegar um .hex que já veio compilado e gravei e conseguiu rodar normal, mais se pegar o projeto e compilar não funciona mais e .hex fica com o mesmo tamanho, muito estranho.

Enviado:
15 Set 2009 17:22
por fabim
nando, pra você e para os outros.
Dou um doce pra quem encontrar o bug na rotina.
Fui debugar no asm e achei o erro antes de chegar nele.
- Código: Selecionar todos
_Delay_500us:
;__Lib_Delays.c,27 :: void Delay_500us() {
;__Lib_Delays.c,28 :: Delay_us(498);
0x0BA4 0x0E04 MOVLW 4
0x0BA6 0x6E0C MOVWF R12, 0
0x0BA8 0x0E3A MOVLW 58
0x0BAA 0x6E0D MOVWF R13, 0
L_Delay_500us5:
0x0BAC 0x2E0D DECFSZ R13, 1, 0
0x0BAE 0xD7FE BRA L_Delay_500us5
0x0BB0 0x2E0C DECFSZ R12, 1, 0
;__Lib_Delays.c,29 :: }
0x0BB2 0x0000 NOP
0x0BB4 0xD7FB BRA L_Delay_500us5
0x0BB6 0x0012 RETURN 0

Enviado:
15 Set 2009 18:15
por fabim
achei o mesmo erro em mais duas chamadas de delay.
Chuto para 110% de certeza de ser o sistema de security para varinha de condão...
se for chamada a rotina pura do delay, não da nenhum pau.
Se for utilizada qualquer rotina da liby da IDE que tenha chamada de delays, esta caquinha é colocada intencionalmente...
Ou seja,, Cerveja !!!

Enviado:
15 Set 2009 20:30
por turuna
Na pilha da microchip as delays são por estouro do timer a cada estouro é contado um incremento na contagem, mas sem interromper a passagem dos níveis da pilha que não pode ser interrompida por mais de 1ms se não dá pau.........
Turuna

Enviado:
16 Set 2009 08:01
por ffc
Pois é Fabim como já tinha tentando de tudo sempre desconfie que o compilador estivesse errado mesmo.

Enviado:
16 Set 2009 08:05
por fabim
viu nando.
coloca o mikroC 8.2.
Vai na pasta do mikroC PRO 2008 2.5, pega os doc´s relevantes ao ENC28J60.
Joga tudo dentro da mesma pasta do projeto que vai criar no 8.2, faz a inclusão delas no main.
Pode compilar tranquilamente, pois os sources são compativeis...
Fabim