Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Лог за грешка в Proteus
http://mcu-bg.com/mcu_site/viewtopic.php?f=14&t=4200
Страница 1 от 1

Автор:  MegatroniC [ Чет Май 17, 2007 2:29 pm ]
Заглавие:  Лог за грешка в Proteus

Това е грешката:

Изображение

ясно е че се опитва да чете от клетка от паметта която не е указана, ама тоя адрес 0187, наистина го няма в програмата 8O
на 0299 има goto $-1 което пък води до проверка btfss.
Симулацията си работи перфектно до момента когато не реша да записвам в ЕЕПРОМ-а, и тогава дава тази грешка. Кода за записа няма как да съм объркал защото е едно към едно с този от пдф-а за чипа, а чипа е 16ф877.
Сигурно някаде пак имам елементарна грешка но немога да я открия

Автор:  ji4ka [ Чет Май 17, 2007 11:44 pm ]
Заглавие: 

Прегледай си банките дали ги сетваш и ресетваш правилно при писане в епрома. Епрома буташе в банки 2 и 3 май.Проследи ги на симулатора в статуса.

Автор:  MegatroniC [ Пет Май 18, 2007 8:09 am ]
Заглавие: 

Туй трябва да е правилно :oops:

Код:
                       banksel   EECON1       
      btfsc   EECON1, WR    
      goto    $-1       
      banksel     EEADR       
      movwf    EEADR       
      movf    Temp1, w        
      movwf    EEDATA           
      banksel   EECON1       
      bcf    EECON1, EEPGD    
      bsf    EECON1, WREN    
      bcf    INTCON, GIE   
      movlw    0x55       
      movwf    EECON2       
      movlw    0xAA       
      movwf    EECON2       
      bsf    EECON1, WR    
      bsf    INTCON, GIE    
check   
      btfsc   EECON1, WR   
      goto   check      
      bcf    EECON1, WREN    
      return      


Според симулацията, забива веднага след излизане от тази подпрограма 8O
Махна ли я, никакви ядове, програмата си върви :roll:

Автор:  rumen [ Пет Май 18, 2007 9:56 am ]
Заглавие: 

Ако пуснеш схема и хекс ще ми е интересно да и пусна симулация.
Ако трябва изтрий каквото не е нужно да гледаме на схемата.
Коя версия ползваш?

Автор:  ji4ka [ Съб Май 19, 2007 3:03 am ]
Заглавие: 

Я преди return-а напиши едно clrf STATUS и пак пробвай.

Автор:  MegatroniC [ Пон Май 21, 2007 9:25 am ]
Заглавие: 

ji4ka златен си :prayer: =D> :prayer:
сега нещо ми се нулира обаче не забива с тази грешка, но ще го оправя :) (оправено :D )

Благодаря !

сега ако и ми обясниш за тази хватка :D

Автор:  ji4ka [ Пон Май 21, 2007 6:00 pm ]
Заглавие: 

Ясен си! Както ти писах по-горе оправи си Банките!!! banksel те е пратило в Банка3, а ти накрая не си връщаш Банка0, която явно ползваш и става едно мазало... Тъй като битовете за банките са в статуса , като го забършеш отиваш в нулевата банка директно, макар че не е много коректно , тъй като там има и други битове. По добре напиши:
bcf status,rp0
bcf status,rp1
Прочети по-внимателно даташита по въпроса за датамемори организацията!

Абе ти не знаеш ли ,че за да програмираш ПИКове на асемблер трябва да си Bank-er ??? :wink:

Автор:  MegatroniC [ Вто Май 22, 2007 8:13 am ]
Заглавие: 

Мда, забелязах че до сега грешките ми винаги са били заради бъркане на банките. Ще взема да запиша второ више за Банкер :lol:

Автор:  valioman [ Вто Май 22, 2007 8:57 am ]
Заглавие: 

MegatroniC написа:
Мда, забелязах че до сега грешките ми винаги са били заради бъркане на банките. Ще взема да запиша второ више за Банкер :lol:


А няма ли да ти е по лесно просто да минеш на компилатор от по високо ниво :) например Hitech,CCS ....

Поздрави!!!

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/