Fabim,
vc acertou na mosca,
No arquivo P16F685.MLK esta assim:
//ROM MEMORY
#pragma SetRomSize(4096)
#pragma SetPage(PAGE0, 0x0004, 0x0FFF)
ou seja, o compilador pensava que a memoria estava em uma
pagina só, então quando eu compilava, não apresentava
nenhum erro, porem quando ira rodar o programa no pic, ele
travava, (o programa só iria ficar rodando na primeira pagina)
copiei essa configuração do pic 16f690 (que tb é 4k)
//ROM MEMORY
#pragma SetRomSize(4096)
#pragma SetPage(PAGE0, 0x0004, 0x07FF)
#pragma SetPage(PAGE1, 0x0800, 0x0FFF)
ai o programa funcionou certinho, porem se alguma parte do
programa "cai" entre uma pagina e outra, o compilador apresenta
uma mensagem de erro.Mas nada que atrapalhe, pois coloquei
o main na segunda pagina:
main: org 2100
O programa ja esta com 3,5K, vou usar os 500bytes restantes para ascender um LED, se eu tivesse 800bytes, faria ele piscar.....
Tava olhando no forum mikroelektronika (veja bem, olhando, (as figuras) não disse lendo)
e tem um cara comentando como o compilador "ajeita" o programa na memoria, se uma subrotina vai ficar alocado entre uma pagina e outra, ele pula para a proxima pagina.
http://www.mikroe.com/forum/viewtopic.p ... ght=pclath
Recomendaram para ele usar um pic da serie 18F, que só tem uma pagina.
Sera que o mikrobasic não faz essa alocação sozinho?? ou o kraft não funciona?
(falar assim não tem problema né: quem tem o kraft do programa XXX)
Valeu Fabim