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

Въпрос за MPLAB
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=3897
Страница 1 от 3

Автор:  Zeus [ Пет Мар 16, 2007 10:44 pm ]
Заглавие:  Въпрос за MPLAB

Като компилирам проекта, ми показва постоянно съобщения, че даден регистър не е в посочената банка. И това много често. Проверявам и виждам, че всичко си е ОК. Вече престанах да им обръщам внимание, а и програмите си работят. Да, ама онзи ден бях пропуснал да установя правилните банки, и търсих проблема цял ден, докато го намеря.
Та въпросът ми е следния: Дали това си е бъг на програмата или аз не съм настроил нещо. Защото тази информация с банките ще ми е много полезна ако дава грешките само когато са истински. И ако не може да се оправи, има ли друга развойна среда за асмблер, дето да е по-добра?

Автор:  rumen [ Пет Мар 16, 2007 10:49 pm ]
Заглавие: 

Ами аз вече втора години не съм пускал MPLAB не знам какво е събщението сега.
Но едно време просто предупреждаваше че работиш нещо в друга банка да си провериш дали си я сменил.
Накратко събщението беше напомнящо а не за грешка.

Автор:  Ки4о [ Съб Мар 17, 2007 12:38 am ]
Заглавие: 

Преди обръщение към регистър правиш следното-искаш да се обърнеш към PORTA някъде из програмата и да прочетеш съдържанието на порта :

banksel PORTA ;превключва банките
movf PORTA,w
.............

Автор:  bobyk [ Съб Мар 17, 2007 10:34 am ]
Заглавие: 

Ами оставете ги тия 'банкови' контролери и няма да се чудите повече. :P :D :idea:

Автор:  Zeus [ Съб Мар 17, 2007 3:48 pm ]
Заглавие: 

rumen написа:
Ами аз вече втора години не съм пускал MPLAB не знам какво е събщението сега.
Но едно време просто предупреждаваше че работиш нещо в друга банка да си провериш дали си я сменил.
Накратко събщението беше напомнящо а не за грешка.


Проблема е, че дори когато съм избрал правилните банки, пак ми дава, че работя с грешни банки.

Автор:  Zeus [ Съб Мар 17, 2007 3:50 pm ]
Заглавие: 

bobyk написа:
Ами оставете ги тия 'банкови' контролери и няма да се чудите повече. :P :D :idea:


Понеже до сега съм работил само с "банкови" на Майкрочип, кажи ми някакви без банки, че ми омръзна само да ги следя. (дано не ти прозвучи смешно, но от скоро се занимавам с контролери)

Автор:  Ки4о [ Съб Мар 17, 2007 4:22 pm ]
Заглавие: 

За да не ти ги извежда като съобщение - пишеш:

list p=16F877
TITLE "Главна програма"
Clock_Freq EQU d'20000000'
__CONFIG _CP_OFF & _WDT_OFF & .....
#include <P16F877.INC>
#include <macro.asm>
errorlevel 1
и няма да ти излизат съобщенията за банките

Автор:  VSU [ Съб Мар 17, 2007 4:22 pm ]
Заглавие: 

Да няма да извежда ама ако е забравил някъде да ги цъкне

Atmel :)

Автор:  [ Съб Мар 17, 2007 6:31 pm ]
Заглавие: 

VSU написа:
Да няма да извежда ама ако е забравил някъде да ги цъкне

Atmel :)


Неее, не сте познали драги зрители :) , просто се преминава на Ц :lol:

Автор:  Zeus [ Нед Мар 18, 2007 5:33 pm ]
Заглавие: 

Ки4о написа:
За да не ти ги извежда като съобщение - пишеш:

list p=16F877
TITLE "Главна програма"
Clock_Freq EQU d'20000000'
__CONFIG _CP_OFF & _WDT_OFF & .....
#include <P16F877.INC>
#include <macro.asm>
errorlevel 1
и няма да ти излизат съобщенията за банките


Проблема не е, че ме дразнят съобщенията, а да ми показва само като сгреша банките, защото това си е важна информация. Просто ме интересуваше, дали има някоя опция да коригира това.

Автор:  setoy [ Пон Мар 19, 2007 10:30 am ]
Заглавие: 

Не, няма начин да стане. Тъй като битовете, с които селектираш банката могат да се променят от всяко място в програмата, асемблера няма откъде да знае дали са правилно настроени в момента. И предупреждава да погледнеш. Това е warning, а не грешка. Сигурно ти е време да минаваш на С ;)

Автор:  ji4ka [ Сря Мар 21, 2007 3:38 am ]
Заглавие: 

Свиквай Zeus! Ако работиш сериозно с пик-овете ще имаш нужда от много Банки, където да си трупаш печалбите :D

Сега сериозно. Бъркането на банките е един от най-често срещаните проблеми при асемблера на пиковете , но въпреки това в MPLAB-a не е решен и до ден днешен. Причината- предполагам ,че тези които пишат MPLAB-a никога не са програмирали пикове на асемблер :x . А и алгоритъма на симулиране в MPLAB-a е малко тъпичък. Симулатора е "умен" колкото пик-а, т.е. това което не го хваща пик-а ,не го хваща и симулатора. Поне за банките е така. Всъщност не се следи програмата на логическо ниво , а само на хардуерно. Ама това е една друга тема....

Автор:  mndsl [ Сря Мар 21, 2007 10:30 am ]
Заглавие: 

Причината не е в МПЛАБ , то всеки компилатор на асемблер ще направи същото именно защото пишеш на асемблер. Отговорноста за програмата е изцяло оставена на програмиста и то няма друг начин, защото всеки ред от програмата е дефакто инструкция и генерирания HEX файл ще бъде точно такъв какъвто го напишеш. Компилаторът не променя нито ред от кода, както е при езиците от високо ниво. И не очаквайте от компилатор да следи логиката на програмата.

Автор:  ji4ka [ Сря Мар 21, 2007 6:29 pm ]
Заглавие: 

mndsl написа:
И не очаквайте от компилатор да следи логиката на програмата.

Ами МПЛАБ-а освен компилатор е и доста други неща (лаб=лаборатория). И аз лично очаквам от хххMb програма движеща върху xxxxMHz PC да прави нещо повече от това да се преструва на контролер. Като са си оставили архитектурата на пика да куца, поне да бяха компенсирали с маалко по-читав симулатор. 10+ години трябваше да им стигнат. Може би не го оправят щото да могат да си пробутват Ц-то.

Автор:  mndsl [ Сря Мар 21, 2007 7:02 pm ]
Заглавие: 

ji4ka написа:
mndsl написа:
И не очаквайте от компилатор да следи логиката на програмата.

Ами МПЛАБ-а освен компилатор е и доста други неща (лаб=лаборатория). И аз лично очаквам от хххMb програма движеща върху xxxxMHz PC да прави нещо повече от това да се преструва на контролер. Като са си оставили архитектурата на пика да куца, поне да бяха компенсирали с маалко по-читав симулатор. 10+ години трябваше да им стигнат. Може би не го оправят щото да могат да си пробутват Ц-то.


1. Говорим за компилатор , не за симулатор, бъркаш понятията :)
2. Симулатора не може да прави нещо повече освен да се преструва на контролер, щото инъче на компютъра всичко ще е ОК, ама на пика няма да е.
3. И аз очаквам от Windows от xxx MB i za xxx $ да работи както трябва и да не забива... ама тц. 8)

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