| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Микроконтроллеры (MCU) и микропроцессоры (MPU) > Прерывания + таймер |
| Автор: -= Александр =- 13.6.2004, 00:11 |
| Значит вот в чем проблема, точнее вопрос: Есть таймер и есть прерывание АЦП Работает примерно так: процедура А() { В1=R; Ждем; B2=R; Ждем; B3=R; Ждем; Сравниваем B1,B2 и В3; Делаем еще много всяких операций...; } Прерывание АЦП { R=результат преобразования; } Прерывание по таймеру { A(); } А теперь вопрос: будет ли во время выполнения процедуры А случаться прерывание АЦП? Вопрос №2: Почему когда я включаю UART, АЦП перестает работать? |
| Автор: shedon 13.6.2004, 13:33 | ||||
Если ты их в процедуре А, не запретишь то будут.
Не зеная схемы и программы сказать не чего нельзя, АЦП встроено в контроллер ? Или как оно подключенно ? |
| Автор: Dr.Death 13.6.2004, 16:14 |
| Я думаю у него встроено в контроллере. |
| Автор: shedon 13.6.2004, 18:09 | ||
Тогда надо даташит на контроллер смотреть... Если он всё правильно делает... |
| Автор: -= Александр =- 14.6.2004, 15:59 |
| Я тут немного поковырялся и вроде заработало все как надо. Только вот другая проблема возникла: из контроллера посылаю байт, а на ком черт знает что приходит. Я в даташите прочитал, что на моей частоте кварца будет 0.2% ошибок, но ни одного байта правильно не доходит. Если я кварц заменю это исправится? |
| Автор: shedon 14.6.2004, 17:29 | ||
Вероятно проблема не в кварце, а на какой скорости отправляешь, что за процессор, какой кварц и как отправляешь ?. |
| Автор: PILOT 15.6.2004, 19:04 |
| Проблема только в согласовании скоростей приемника и передатчика. Замена кварца ничего не даст. СУВ. |
| Автор: -= Александр =- 15.6.2004, 22:07 |
| У меня ATMega8535, передаю я через MAX232 на скорости 9600 или 4800. Частота кварца 16 МГц. Прога на С (через ICC), отправляю через putchar(). Принимаю все это на компе через простой терминал. (на такой-же скорости) |
| Автор: shedon 16.6.2004, 08:12 | ||
| Возможно, несогласованны другие параметры, контроль чётности, количество стоповых байт, количество бит данных. А один байт отправляется ? Потом я смотрю у тебя Синхронный/Асинхронный приёмо-передатчик, в компе же стоит асинхронный, возможно, что ты передаёшь в синхронном режиме. Попробуй просто передать один байт, как в даташите написанно...
|
| Автор: serg1 24.6.2004, 11:10 |
| Поставь кварц на 11,059. Чётко работает на 9600, проверено |