|
|
  |
tiny2313 & mega8, посоветуйте плз |
|
|
|
Dec 11 2006, 10:19
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672

|
Цитата(Terapefft @ Dec 11 2006, 09:06)  я уже пробовал отттуда cli убирать, и в главном цикле тоже поубирал все, все равно оно срабатывает только в первом цикле Баланс CLI и SEI, скорее всего, нарушентся НЕ в главном цикле, а в пп, на которые уходит программа по RCALL. Ведь даже Код ; Индикация измеренного напряжения в непрерывном режиме я вижу нарашение баланса при уходе на RCALL.
--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
|
|
|
|
|
Dec 11 2006, 11:15
|
Участник

Группа: Новичок
Сообщений: 41
Регистрация: 7-02-05
Пользователь №: 2 473

|
Цитата(Terapefft @ Dec 9 2006, 13:10)  сначала в первом цикле прерывание сразу срабатывает диод загорается, а во втором уже не срабатывает, а срабатывает только когда из цикла выйдешь...почему так??? Мне показалось, что в обработчике прерывание от INT1 запрещается, и более нигде не разрешается (за исключением первичной инициализации).
|
|
|
|
|
Dec 11 2006, 11:32
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672

|
Попробуй после Код ldi count,0b10000000; разрешение прерывания INT1 out gicr,count включать светодиод, а Код CNT_INT1: in rin,sreg push rin
inc cntdat cpi cntdat,$02 brne NNN Выключать. Похоже на то, что прога где-то зацикливается и не выходит на разрешение прерывания.
--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
|
|
|
|
|
Dec 11 2006, 12:40
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672

|
Цитата(Alex_Pol @ Dec 11 2006, 10:43)  В исходнике inddat.txt от 8.12. 23 штуки cli и 19 штук sei. Нарушен баланс. Ещё раз проверь внимательно. Вот видишь Alex_Pol за тебя посчитал "Методом светодиода" можещь проверить и CLI с SEI: по CLI выключаешь светодиод, а по SEI -- включаешь. И видишь сразу включены прерывания или нет.
Сообщение отредактировал Wild007 - Dec 11 2006, 12:41
--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
|
|
|
|
|
Dec 11 2006, 15:44
|

Частый гость
 
Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052

|
вот я щас сделал, диод зажигается  вначале проги порт так настроил: clr rin ; out ddrd,rin ; out portd,rin ; прерывание вроде работает, потом я попробовал в п/п выключать насос без сравнения с кол-вом импульсов, но почему то диод загорается сразу как происходит замыкание датчика, а насос тока в конце цикла выключается. почему такое может быть?
|
|
|
|
|
Dec 11 2006, 16:01
|
Участник

Группа: Новичок
Сообщений: 41
Регистрация: 7-02-05
Пользователь №: 2 473

|
Цитата(Terapefft @ Dec 11 2006, 15:44)  вот я щас сделал, диод зажигается  вначале проги порт так настроил: clr rin ; out ddrd,rin ; out portd,rin ; Ничего не понял. Светодиод на D? 0 --> в DDR порта, порт на вход. Terapefft, может ну иго нафиг, программирование это. Может, будем людей лечить??
|
|
|
|
|
Dec 11 2006, 16:10
|

Местный
  
Группа: Свой
Сообщений: 226
Регистрация: 25-03-05
Из: Беларусь
Пользователь №: 3 672

|
Цитата(Terapefft @ Dec 11 2006, 15:04)  дребезг не учитывал....а как его учитывать? и на какие входы надо кондеры? а почему тогда диод сразу загорается??? Дребезг контактов можно убирать програмно или с помощью RS триггера -- аппаратно. Кондеры на пины МК которые ВХОДЫ  . А где вставлено зажигание "диода" -- выкладывай код.
--------------------
Ничто так не ограничивает полет мысли программиста, как компилятор
|
|
|
|
|
Dec 11 2006, 16:31
|

Частый гость
 
Группа: Свой
Сообщений: 167
Регистрация: 14-06-06
Из: Рязань
Пользователь №: 18 052

|
вот исходник где диод зажигается. У меня на датчике 3 вывода: один 0 В, один +24 В и нагрузка (я его подключил через резистор и диод к ноге контроллера)
Прикрепленные файлы
dat.txt ( 70.28 килобайт )
Кол-во скачиваний: 64
|
|
|
|
|
  |
4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0
|
|
|