|
Виж темите без отговор | Виж активните теми
Дата и час: Вто Юли 28, 2026 12:50 am
|
Страница 1 от 1
|
[ 5 мнения ] |
|
| Автор |
Съобщение |
|
default_pz
Ранг: Минаващ
Регистриран на: Съб Апр 15, 2006 12:22 pm Мнения: 22 Местоположение: Пазарджик
|
 Проблем с PIC16F876A
Здравейте,
хич не ми се ще да занимавам който и да било с проблемите си, но този път здраво я закъсах. Иде реч за следното: Имам си MPLAB и PIC16F876A. Ето с какво се сблъсках след много часове лутане - на променливата Hour предварително е присвоена стойността B'00001000', да кажем. След
movf Hour,w
andlw B'00001111'
стойността на работния регистър не е B'00001000', а някаква доста по-голяма (не си направих труда да разбера точно каква е, изкарах я направо на LCD, вижда се само, че е различен символ, след като забраня andlw) и като се вземе предвид, че следващата инструкция е за изпращане в таблица, сещате се каква каша става. А целта ми е просто да нулирам старшата тетрада. По-нататък в програмата използвам същия алгоритъм няколко пъти и няма проблем. Да не говорим, че като преместя подпрограмата някъде другаде, започва да работи, но след известно време допълване на кода на програмата пак нещо се чупи някъде. В момента точно това работи, но не мога да си подкарам пък I2C шината. Кой знае дали имам грешка, или това е поредният подобен номер... Проверих банките, проверих регистрите, сменях PIC-а, версията на MPLAB-а, компютъра (няколко пъти и с различни виновси) - нищо. Кво става, за кво иде реч, съсипах се... неам нерви вече. Идеи някакви?...
|
| Сря Ное 15, 2006 9:08 pm |
|
 |
|
plameniv
Ранг: Форумен бог
Регистриран на: Нед Окт 10, 2004 9:55 am Мнения: 1718
|
 Re: Проблем с PIC16F876A
 |  |  |  | default_pz написа: Здравейте,
хич не ми се ще да занимавам който и да било с проблемите си, но този път здраво я закъсах. Иде реч за следното: Имам си MPLAB и PIC16F876A. Ето с какво се сблъсках след много часове лутане - на променливата Hour предварително е присвоена стойността B'00001000', да кажем. След
movf Hour,w andlw B'00001111'
стойността на работния регистър не е B'00001000', а някаква доста по-голяма (не си направих труда да разбера точно каква е, изкарах я направо на LCD, вижда се само, че е различен символ, след като забраня andlw) и като се вземе предвид, че следващата инструкция е за изпращане в таблица, сещате се каква каша става. А целта ми е просто да нулирам старшата тетрада. По-нататък в програмата използвам същия алгоритъм няколко пъти и няма проблем. Да не говорим, че като преместя подпрограмата някъде другаде, започва да работи, но след известно време допълване на кода на програмата пак нещо се чупи някъде. В момента точно това работи, но не мога да си подкарам пък I2C шината. Кой знае дали имам грешка, или това е поредният подобен номер... Проверих банките, проверих регистрите, сменях PIC-а, версията на MPLAB-а, компютъра (няколко пъти и с различни виновси) - нищо. Кво става, за кво иде реч, съсипах се... неам нерви вече. Идеи някакви?... |  |  |  |  |
Дай малко повече инфо , нещо бъркаш но с 1 ред от програмата ти трудно ще се разбере къде !!!
|
| Сря Ное 15, 2006 10:28 pm |
|
 |
|
default_pz
Ранг: Минаващ
Регистриран на: Съб Апр 15, 2006 12:22 pm Мнения: 22 Местоположение: Пазарджик
|
Проблемът е отстранен. Реших че има нещо нередно в инициализацията на процесора. Копирах я в текстов файл, изтрих я от MPLAB-а и я преписах на ръка. Дословно. Но на ръка. Вече работи. Странно, няма грешка в старата инициализация, но не работи. И грешка не дава...
|
| Чет Ное 16, 2006 1:41 am |
|
 |
|
Dimitar
Ранг: Форумен бог
Регистриран на: Пет Ное 12, 2004 3:38 pm Мнения: 9103 Местоположение: Chicago, IL
|
Ъпдейтни си MPLAB-а. Понякога като правиш copy/paste на кода от другаде така става. Те хората що го отричат тоя метод на работа - щото е много спорно дали ще спестиш време с него  .
|
| Чет Ное 16, 2006 2:43 am |
|
 |
|
default_pz
Ранг: Минаващ
Регистриран на: Съб Апр 15, 2006 12:22 pm Мнения: 22 Местоположение: Пазарджик
|
Мдам... доста време загубих. Определено, няма да правя повече така  . Въпреки, че всяко copy/paste е на код, който сам съм го писал, на MPLAB. Благодаря за отговорите. Особено по това време на денонощието 
|
| Чет Ное 16, 2006 10:00 am |
|
|
|
Страница 1 от 1
|
[ 5 мнения ] |
|
Кой е на линия |
Потребители разглеждащи този форум: 0 регистрирани и 2 госта |
|
Вие не можете да пускате нови теми Вие не можете да отговаряте на теми Вие не можете да променяте собственото си мнение Вие не можете да изтривате собствените си мнения Вие не можете да прикачвате файл
|
|