Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
мдя, только это ничего не объясняет
Отправлено
DASM
03 марта 2007 г. 03:44
В ответ на:
А чего тут смотреть - налицо некорректная работа с регистром, одновременно записываемым и в прерывании (temp1), и в основном цикле (r17)
отправлено =AVR= 03 марта 2007 г. 03:43
Составить ответ
|
Вернуться на конференцию
Ответы
Я в его неформатированном коде детально не копался - например, не смотрел режим таймера, а он может, например, забить ноги OC1x (PB3..4), может и программатор PB5..7 подсаживать, может, он и просто PB на землю замыкает, а пуллапы не включены, кто знает - просто указал на некорректность
—
=AVR=
(03.03.2007 04:17:9
80.92.96.19
,
пустое
)
Ответ: Ноги порта В через резисторы на 3 кОм висят на минусе, а замыкаю через резистор 10 Ом на + 5v. Так главное что r17 нормально выводится...а если ставишь r18 то просто слабо подмигивает светодиодом.
—
Anrdey19888
(03.03.2007 13:36:26
82.209.229.17
,
пустое
)
Запусти мой пример без прерываний - тогда и посмотрим
—
=AVR=
(03.03.2007 13:43:5
80.92.96.19
,
пустое
)
Ответ: Без прерываний работает...но мне нужно чтоб порт оправшивался каждые 30 миллисекунд далее значения Разделенного регистра сравнивались с констанатами и если не верно, то первое неправильное значение выводилось в порт D
—
Anrdey19888
(03.03.2007 14:18:23
82.209.217.72
,
пустое
)
Я уже все сказал - раз регистр у тебя используется и в прерывании, и в фоне, то либо запрещай прерывания, либо используй его в фоне только для чтения - например, скопируй r17 в r19 и дальше работай не с r17, а с r19
—
=AVR=
(03.03.2007 14:49:26
80.92.96.19
,
пустое
)
Ответ: Если я правильно понял то надо было сделать так...но так вообще ничего не работает
—
Anrdey19888
(03.03.2007 16:41:3
82.209.229.177
, 408 байт)
Убери вообще запись нуля в TCNTx из прерывания, используй автоматический режим CTC (Clear timer on compare match) - TCCR1A=0, TCCR1B=0x0A. И еще раз: назвал регистр - обращайся к нему ТОЛЬКО ПО НАЗВАННОМУ ИМЕНИ!!!
—
=AVR=
(03.03.2007 17:05:0
80.92.96.19
,
пустое
)
Ответ: Все разобрался...даже прогу почти доконца написал...:) мешал как всегда драйвер кривые руки.inf
—
Anrdey19888
(03.03.2007 21:49:16
86.57.162.158
,
пустое
)
Ну так и поделись - не один же ты тут, может, еще кому наука пригодится
—
=AVR=
(03.03.2007 22:04:35
80.92.96.19
,
пустое
)
Ответ: Все как ты говорил...это я тогда отключил прерывания а потом забыл их включить...аж стыдно млин
—
Anrdey19888
(03.03.2007 22:35:39
86.57.162.158
, 407 байт)
Ничего тут стыдного абсолютно - зато не тыком, а анализом победил, и на будущее запас сделал
—
=AVR=
(03.03.2007 23:36:59
80.92.96.19
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 76:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru