PIC16F877A spira
6 отговора
203 прегледа
PIC16F877A spira
Zdrawejte
Puskam edna malka platka, na kojato edin PIC16F877A uprawljawa malko hardware i komunikira po RS232 ednoposochno s PC, kato wsichko towa go prawi prez 10ms, generirani ot TMR0 s prekyswane. Da de, ama PIC-a proklet ponjakoga spira. WDT e zabranen. Ne moga da razbera kakwo stawa. Njakakwi idei ot njakoj.
10X
Puskam edna malka platka, na kojato edin PIC16F877A uprawljawa malko hardware i komunikira po RS232 ednoposochno s PC, kato wsichko towa go prawi prez 10ms, generirani ot TMR0 s prekyswane. Da de, ama PIC-a proklet ponjakoga spira. WDT e zabranen. Ne moga da razbera kakwo stawa. Njakakwi idei ot njakoj.
10X
Re: PIC16F877A spira
Ами като се започне от лошо опроводен кварц, кофти захранване (малко вероятно) и много, много грешки в програмата.
Предлагам ти да си сложиш някакви случки в циклите (напр. да сменя нивото на пин(ове)), както и да установява алтернативно ниво при рестарт (напр. от препълване на стека) и др. такива.
Предлагам ти да си сложиш някакви случки в циклите (напр. да сменя нивото на пин(ове)), както и да установява алтернативно ниво при рестарт (напр. от препълване на стека) и др. такива.
Re: PIC16F877A spira
Като правиш разни магии в прекъсването, запазваш ли всички регистри, които ползваш (даже и активната страница на RAM-а ?)
Друга причина - ако имаш обръщане към масив от константи ( та дори и само четене ) и се опитваш да достигнеш елемент, дето го няма.
Трета причина - липсват керамичните кондензатори в захранването.
Има още милион причини да спре, тези трите просто водят класацията на бързите гафове.
Друга причина - ако имаш обръщане към масив от константи ( та дори и само четене ) и се опитваш да достигнеш елемент, дето го няма.
Трета причина - липсват керамичните кондензатори в захранването.
Има още милион причини да спре, тези трите просто водят класацията на бързите гафове.
Re: PIC16F877A spira
Ам че пусни му WDT... Нали затуй е турен там.
______________
На всеки на пук!
______________
На всеки на пук!
Да бе...
... да си маскира грешката и да я чака с дни.
Виж, ако имаше достъп до стека, когато сработи WDog - щеше да си види адреса, ама MChip има още да духат супата докато направят достъп до стека на малките си процесори.
Но може и да си прав - поне ще види какво ще стане, като си пусне кучето. Ако всичко тръгне ОК - най-лошо: няма да му помогне - пак трябва да си търси грешката.
Виж, ако имаше достъп до стека, когато сработи WDog - щеше да си види адреса, ама MChip има още да духат супата докато направят достъп до стека на малките си процесори.
Но може и да си прав - поне ще види какво ще стане, като си пусне кучето. Ако всичко тръгне ОК - най-лошо: няма да му помогне - пак трябва да си търси грешката.
Re: PIC16F877A spira
Ако не е кварца ( той е евтин - смени го ), е програмата.
Ако имаш свободни pin на PIC-а, през определен брой инструкций, слагай инструкция да ги променя тези PIN ( да не забравиш да ги направиш изходи ), и така ще видиш къде умира PIC-a. Може да е на най неочакваното място.
Виж и нещата около входа MCLR, да не виси или нещо от сорта.
За ден два ще го хванеш. Успех!
Ако имаш свободни pin на PIC-а, през определен брой инструкций, слагай инструкция да ги променя тези PIN ( да не забравиш да ги направиш изходи ), и така ще видиш къде умира PIC-a. Може да е на най неочакваното място.
Виж и нещата около входа MCLR, да не виси или нещо от сорта.
За ден два ще го хванеш. Успех!
Re: PIC16F877A spira
Blagodarja na vsichki
Okaza se keramichnija kondenzator na zahranwaneto neposredstweno da PIC-a. Zabrawil sym da zapoja edinija pin :(
A go hranja ot TES s dosta dylgi kabeli i ......
S edna duma, oprawih go.
Okaza se keramichnija kondenzator na zahranwaneto neposredstweno da PIC-a. Zabrawil sym da zapoja edinija pin :(
A go hranja ot TES s dosta dylgi kabeli i ......
S edna duma, oprawih go.