реклама на сайте
подробности

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Не хочет работать прерывание компаратора в GCC+Eclipce.
_Артём_
сообщение Mar 14 2012, 10:46
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(_Pasha @ Mar 14 2012, 04:37) *
Зогадко просто решается. В приведенном коде инициализации пинов напорото столько чуши, что.

В чём чушь? Ноги в Z переводятся.

Цитата(_Pasha @ Mar 14 2012, 04:37) *
Вы определитесь хотя бы, на каких ногах этот компаратор висит.

На PD6-PD7.

Цитата(_Pasha @ Mar 14 2012, 04:37) *
Зогадко просто решается.

А какая разгадка?

Цитата(AHTOXA @ Mar 13 2012, 20:11) *
Как нам только что объяснил уважаемый ReAl, в avr-gcc, оказывается, не может.

И что мешает в АРМ также сделать?


Цитата(AHTOXA @ Mar 13 2012, 20:11) *
А, например, в случае arm-gcc и cortex - запросто. (Например, вот, вот, вот и ещё кучу разsm.gif )

Почитал - вспомнил: сом недавно по этим граблям походил.
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 14 2012, 11:04
Сообщение #17


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(_Артём_ @ Mar 14 2012, 13:46) *
В чём чушь? Ноги в Z переводятся.
На PD6-PD7.
А какая разгадка?

Вот она
Код
SFIOR |= (1<<ACME);
ADMUX = 6;  // настройка компаратора на 6 вход АЦП

Уберите ACME, ибо у Вас компаратор чисто электрически не работает
зы. Ой, не у Вас, а у ТС, конечно.

Сообщение отредактировал _Pasha - Mar 14 2012, 11:05
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 14 2012, 11:13
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(_Pasha @ Mar 14 2012, 13:04) *
Вот она
Код
SFIOR |= (1<<ACME);
ADMUX = 6;  // настройка компаратора на 6 вход АЦП

Уберите ACME, ибо у Вас компаратор чисто электрически не работает

Как не работает?
ACME=1 - It is possible to select any of the ADC7..0(1) pins to replace the negative input to the Analog
Comparator.
Работает, но сигнал берётся с ADC6. Или нет?
Go to the top of the page
 
+Quote Post
_Pasha
сообщение Mar 14 2012, 11:21
Сообщение #19


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Цитата(_Артём_ @ Mar 14 2012, 13:46) *
В чём чушь? Ноги в Z переводятся.
На PD6-PD7.


Цитата(_Артём_ @ Mar 14 2012, 14:13) *
Как не работает?
ACME=1 - It is possible to select any of the ADC7..0(1) pins to replace the negative input to the Analog
Comparator.
Работает, но сигнал берётся с ADC6. Или нет?

Вот и я не пойму, откуда берется сигнал sm.gif

Сообщение отредактировал _Pasha - Mar 14 2012, 11:22
Go to the top of the page
 
+Quote Post
Dikoy
сообщение Mar 14 2012, 12:33
Сообщение #20


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Паша, прежде чем ржать глянули бы в ДШ.
Сигнал берётся с 6 канала АЦП, который не имеет функции пина, только АЦП, и инициализировать его как-то не нужно.
Входы же компаратора переводятся в Z для пущей лучшести, т.к. имеют свойство гадить его работе в таком режиме. Т.к. они у меня пока не задействованы, перевёл в Z от греха.
Ну и наконец, для бронебригад. Повторю в третий раз. Без прерывания компаратор РАБОТАЕТ. Биты и флаги встают как надо при изменении сигнала на входе. Этому посвящено 2/3 моего первого поста, с кусками кода и лирическими отступлениями. Не работает ТЕЛО ПРЕРЫВАНИЯ.

Всем.
Проблему решил. Оказалось, тело прерывания таймера настолько перегружено, что не успевает выполнится до следующего переполнения. А когда выполняется, выбирает флаг с бОльшим приотритетом - то есть снова таймер. А компаратор лишь удивлённо смотрит в след...
Первый раз такое вижу...

Сообщение отредактировал Dikoy - Mar 14 2012, 12:34
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 14 2012, 12:56
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Dikoy @ Mar 14 2012, 14:33) *
Оказалось, тело прерывания таймера настолько перегружено, что не успевает выполнится до следующего переполнения. А когда выполняется, выбирает флаг с бОльшим приотритетом - то есть снова таймер. А компаратор лишь удивлённо смотрит в след...
Первый раз такое вижу...

Ни хрена себе...точно пора с АВР завязывать...
Go to the top of the page
 
+Quote Post
Dikoy
сообщение Mar 14 2012, 13:04
Сообщение #22


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Завязывать надо с С++ и писюковыми методами на МК...
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Mar 14 2012, 13:22
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(Dikoy @ Mar 14 2012, 15:04) *
Завязывать надо с С++ и писюковыми методами на МК...

Назад к ассемблеру Си?
Я думаю наоборот: С++ и PC-методам на МК всё большее применение находится.
Хотя каждому своё.
Go to the top of the page
 
+Quote Post
Dikoy
сообщение Mar 14 2012, 14:13
Сообщение #24


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



На х32.
На х8 - не стоит.
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Mar 14 2012, 14:15
Сообщение #25


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Скрыл холивар.
Модератор.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Mar 14 2012, 16:01
Сообщение #26


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (Dikoy @ Mar 14 2012, 15:04) *
Завязывать надо с С++ и писюковыми методами на МК...
Сергей, я существенно переделал эту часть программы, таймерное прерывание теперь выполняется очень быстро. Даже на С++. Но вот состыковать эту часть с остальной программой у меня просто нет времени. Я отпишу тебе в скайп и скину исходники.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
Dikoy
сообщение Mar 14 2012, 17:20
Сообщение #27


Местный
***

Группа: Участник
Сообщений: 253
Регистрация: 4-03-09
Из: Богота, Колумбия
Пользователь №: 45 676



Ок!
Лучше в почту.
Go to the top of the page
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th July 2025 - 14:36
Рейтинг@Mail.ru


Страница сгенерированна за 0.01458 секунд с 7
ELECTRONIX ©2004-2016