| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Проблем с прекалено чести прекъсвания http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=4734 |
Страница 1 от 1 |
| Автор: | gdh [ Пет Авг 31, 2007 7:59 pm ] |
| Заглавие: | Проблем с прекалено чести прекъсвания |
Някой може ли да ме насочи към конкретна информация защо се получава следния проблем и как може да се ограничи или премахне нацяло. Имам таймер който генерира прекъсване на всеки 50мк. сек. Честотата на контролера е 32Мхц. Проблема е че I2C и USART модулите спират да комуникират. USART не успява да прати нищо а при И2Ц спира на рандом места поради липса на ACK бит от slave-a. Когато увелича интервала на таймера всичко се оправя. Схемата е с PIC18F4580 през Proteus. Във самото прекъсване има няколко иф-а които клатят пинове, тоест нищо сравнително бавно за изпълнение. |
|
| Автор: | zaprqn [ Пет Авг 31, 2007 9:38 pm ] |
| Заглавие: | |
с влизането в прекъсването сейваш ли си всичко което ти трябва и на излизане да си го restore-ваш? с retfie ли излизаш от прекъсването ? |
|
| Автор: | gdh [ Съб Сеп 01, 2007 10:18 am ] |
| Заглавие: | |
Пиша на С18. Прекъсването е с нисък приоритет. Компилатора сам си записва регистрите. По късно ще пробвам да го сложа с висок приоритет където се ползват shadow регистрите и според док-а трябва да е по-бързо. Като вляза в прекъсване го забранявам временно и при излизане пак го разрешавам. От какво ли може да се получава? |
|
| Автор: | Predator_MF [ Съб Сеп 01, 2007 11:32 am ] |
| Заглавие: | |
Намали до минимум каквато и да е обработка при прекъсването от таймера, с приоритет едва ли ще има ефект, с такива времена яде много CPU време само за влизане в прекъсване и излизане от него |
|
| Автор: | plameniv [ Съб Сеп 01, 2007 3:32 pm ] | |||||||||
| Заглавие: | Ha | |||||||||
Мини на семблер и ще си решиш проблема , ама си сметни и времената на инструкциите че пак може да е същото |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|