| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > прога на pic30f3012 |
| Автор: 6axyc 3.7.2009, 10:19 |
| всем доброго утра, у меня вот такой вопрос. я на пике написал прогу для мигающих светодиодов, все работает пока я не начинаю увеличивать время задержки, когда время задержки привышает примерно 15 секунд то пик какбы зависает в процедуре, я пробовал 2 вида задержки, один при помощи таймера 32 - ух битного, и про помощи for, или while. и в обоих случаях тотже результат. мож кто знает ченить про такое явление. и на всякий случай я отменил idle state, тоесть даже када проц заходит в положение idle таймер продолжает щитать, но я не думаю что это может быть проблеммой, так как я даже до 20 - ти секунд дойти не могу. хелп плиз. |
| Автор: andrew_121 3.7.2009, 10:39 |
| 6axyc, Возможно переполнение счетчиков таймера. Читай даташит на микруху. Таймеры настраиваемые. |
| Автор: 6axyc 3.7.2009, 11:19 |
| дак нет вроде все норма, я таймеры обнуляю перед каждым разом када их запускаю, а почему тогда с for у меня таже проблемма, застряет в процедуре? |
| Автор: andrew_121 3.7.2009, 11:21 |
Какой тип переменной используется? До какого значения инкрементируется? |
| Автор: 6axyc 3.7.2009, 11:24 |
| тип long свыше 200000 застряет Добавлено через 4 минуты и 58 секунд long i; TRISBbits.RB1 = 0b0; for(i =0; i<200000; i++) PORTBbits.RB1 = 0b1; for(i =0; i<200000; i++) PORTBbits.RB1 = 0b0; так примерно выглядит код без таймеров ничего военного |
| Автор: xvr 3.7.2009, 12:43 |
| Watchdog выключен (при програмировании камня)? |
| Автор: 6axyc 3.7.2009, 12:47 |
| хммм, если честно то я ег не трогал, а он по умолчанию включен? |
| Автор: xvr 3.7.2009, 13:54 | ||
Очень может быть. Проверь в программаторе |
| Автор: 6axyc 3.7.2009, 14:13 |
| посиба большое за помощь, к сожалению сейчас не могу проверить если это и есть причина глюков, но теоретичесски это обьясняет все проблеммы которые у меня возникали, посиба большое! |