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

 
 
> Tiny2313 нужна 1 сек. на таймер 0, "Уходит" время :(
AndryG
сообщение Jul 8 2007, 19:46
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Доброго времени суток.

Контроллер - Tiny2313
Частота - 8МГц
Компилятор - CVAVR 1.25.2b1

Одна из функций устройства - подсчет текущего времени.
Используется таймер 0 (второй уже недоступен).
Прерывание по совпадению и автоматическая очистка счетчика при условии сравнения.
С предделителем 256 получаю частоту прерыания ровно 125Гц (64000 тактов)
И в прерывании делитель ставлю на 125.

Вроде всё верно, но за 8,5 часов часики удрали на 4 секунды sad.gif
Устройство активно работает с внутренней EEPROM.

Вот тут и начинаются вопросы ...
- если прерывание таймера возникает при их глобальном запрещении, или выполнении "длинных" команд,
то прерывание вызовется с задержкой ... сбивается ли при этом счетчик циклов в таймере?
- кто что может посоветовать?

_____
P.S.
Запскал HEX в Студии ... ставлю точку останова на вектор прерывания ...
прерывание вызывается каждые 64000 такта ... почти всегда, иногда выскакивает 64001 или
64002 - видать из-за длительных команд ... но потом всё выравнимается.
Правда симуляцию я запускал максимум на секунду - на моем компе на это около 30 минут :-)
А может это такая точность кварца? Слабо верится. Да! фузы верно настроены - проверял уже.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
AndryG
сообщение Jul 10 2007, 05:28
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Спасибо всем за ответы. Вчера весь день был на объекте - не смог поучаствовать ...

"Делитель на 125" ... это я про такой код:
Код
interrupt [TIM0_OVF] void timer0_ovf_isr(void){ //вызывается 125 Гц
if (times < 125)
  goto tim0_ovf_ret;
times = 0x00;  
realtime.s++;
...


Вот сам теперь сижу и думаю, а правильно ли тут 125 стоит ... хотя тоже считал .. ошибка должна быть больше тогда... (хотя может наложилось это и кварц)
И по Студии я не проверял работу делителя - точку останова ставил на прерывание, а не на строку после "делителя на 125" - у меня комп секунду эту гонять сутки будет.

Кварц маркирован .... 8 000 кГц -- сам не помню откуда он.

На счет конденсаторов идею подали -- поколупаю .. вот только бы знать в какую сторону ... может ссылка у кого есть?

И опять я уезжаю на весь день -- завтра обязательно подключусь.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 10:27
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(AndryG @ Jul 10 2007, 13:28) *
Спасибо всем за ответы. Вчера весь день был на объекте - не смог поучаствовать ...

"Делитель на 125" ... это я про такой код:
Код
interrupt [TIM0_OVF] void timer0_ovf_isr(void){ //вызывается 125 Гц
if (times < 125)
  goto tim0_ovf_ret;
times = 0x00;  
realtime.s++;
...
Че то я совсем запутался 07.gif Как из 8.000.000 Гц получить 125 Гц штатным прескалером счетчика ТС0 ??? Если учесть, что в первом посте чел поставил прескалер на 256, то имеем частоту входных импульсов ТС0 - 31.250 Гц. Далее, раз выбрано прерывание по переполнению и Output Compare Unit c OCR0A не задействован, следовательно прерывание вызывается с частотой 31250/256 = 122,0307 Гц 07.gif (Здесь бы я поставил смайлик с пистолетом у виска)


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 10 2007, 11:21
Сообщение #4


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(prottoss @ Jul 10 2007, 09:27) *
Че то я совсем запутался 07.gif Как из 8.000.000 Гц получить 125 Гц штатным прескалером счетчика ТС0 ??? Если учесть, что в первом посте чел поставил прескалер на 256, то имеем частоту входных импульсов ТС0 - 31.250 Гц. Далее, раз выбрано прерывание по переполнению и Output Compare Unit c OCR0A не задействован, следовательно прерывание вызывается с частотой 31250/256 = 122,0307 Гц 07.gif (Здесь бы я поставил смайлик с пистолетом у виска)

Вы сами себя запутали. Чел пишет, что выбрано "прерывание по совпадению и автоматическая очистка счетчика при условии сравнения. С предделителем 256 получаю частоту прерывания ровно 125 Гц (64000 тактов). И в прерывании делитель ставлю на 125"

Чтобы получить 125 Гц ему надо поставить счётчик на 31250/125=250. А вот дальше начинаются непонятки. Из приведенного фрагмента видно, где сбрасывается переменная times, но не видно, где она инкрементируется. То есть непонятно, на сколько делится 125-ти герцовое прерывание - на 125 или 126, чтобы инкрементировать секундный счетчик. На мой взгляд, данная неточность вкупе с неточностью кварца даёт искомую ошибку.

И не надо так шутить "с пистолетом у виска", вы ещё не на все вопросы по программатору ответили(:-).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 11:31
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(=GM= @ Jul 10 2007, 19:21) *
Вы сами себя запутали.
Я сам себя не путал. biggrin.gif Чел пишет, что
Цитата
...прерывание по совпадению и автоматическая очистка...
Это наводит на мысли об использовании Output Compare Unit и OCR0B регистре. Следующим постом демонстрируется код, в котором используется прерывание, повторюсь еще раз ПО ПЕРЕПОЛНЕНИЮ счетчика ТС0. В теле прерывания видна переменная time, которая неизвестно где инкрементируется, но проверяется, и "автоматически" обнуляется smile.gif Так что я не запутался, просто Вы, уважаемый, посты через строчку читаете



Цитата(=GM= @ Jul 10 2007, 19:21) *
И не надо так шутить "с пистолетом у виска", вы ещё не на все вопросы по программатору ответили(:-).
По программатору предлагаю ехидничать в соответсвующей ветке, дабы не засорять топик smile.gif


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 10 2007, 12:07
Сообщение #6


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(prottoss @ Jul 10 2007, 10:31) *
...Следующим постом демонстрируется код, в котором используется прерывание, повторюсь еще раз ПО ПЕРЕПОЛНЕНИЮ счетчика ТС0

Вы хотите сказать, что при использовании Output Compare Unit не возникает флага переполнения?
Цитата(prottoss @ Jul 10 2007, 10:31) *
Так что я не запутался, просто Вы, уважаемый, посты через строчку читаете

Ну положим, уважаемый, вы сами сказали, что запутались, я вас за язык не тянул(:-). А посты я читаю как надо, не волнуйтесь за меня.
Цитата(prottoss @ Jul 10 2007, 10:31) *
По программатору предлагаю ехидничать в соответствующей ветке, дабы не засорять топик smile.gif

И не думал ехидничать, прошу прощения, если обидел. Хотел просто обратить внимание, что не следует шутить на тему смерти.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 12:29
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(=GM= @ Jul 10 2007, 20:07) *
Вы хотите сказать, что при использовании Output Compare Unit не возникает флага переполнения?
Я хочу сказать, что человек не использует Output Compare Unit, а использует переполнение счетчика ТС0, неужели это не понятно??? Таким образом у него получается частота 8.000.000 / 256 (прескалер) / 256 (переполняемый ТС0) = 122, .... Гц. Я сделал такой вывод, потому что человек привел код с прерыванием по переполнению.



А если бы он использовал OCR0A = 250 и использовал прерывание по совпадению, то у него бы получилось 8.000.000 / 256 (прескалер) / 250 (ТС0 == OCR0A?) = 125 Гц. Вот тут, пожалуйста, инкрементируй переменную time и проверяй ее на меньше 125



Точнее OCR0A = 249 smile.gif


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 10 2007, 12:40
Сообщение #8


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(prottoss @ Jul 10 2007, 11:29) *
Я хочу сказать, что человек не использует Output Compare Unit, а использует переполнение счетчика ТС0, неужели это не понятно???

Да откуда вы взяли, что он не использует Output Compare Unit? При его использовании установка флага переполнения счетчика ТС0 (и соответственно, возникновение прерывания по переполнению) возможна, например, когда биты WGM=001 или 101 (см. с. 79 документа 2543i).


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 13:14
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(=GM= @ Jul 10 2007, 20:40) *
Да откуда вы взяли, что он не использует Output Compare Unit? При его использовании установка флага переполнения счетчика ТС0 (и соответственно, возникновение прерывания по переполнению) возможна, например, когда биты WGM=001 или 101 (см. с. 79 документа 2543i).
Ну про такие извраты (извиняюсь) для получения одной секунды я вообще не думал. То что Вы привели относится к Fase Correct PWM mode - флаг переполнения возникает каждые 512 входных импульсов - интересно было бы увидеть Ваши мысли по тому, как парень в таком режиме счетчика считает 1 Гц...

Цитата(defunct @ Jul 10 2007, 20:54) *
Флаг TOVF устанавливается при достижении максимального значения в режиме CTC
Я не говорил, что флаг TOVF не установится вообще в режиме СТС, но это возможно если OCR1A = 0xFF.

Тогда не будет нужных 125 Гц, В режиме PWM Fase correct, так как период переполнений равен 512-и входным импульсам (256 - ++ и 256 --) тоже нет возможности получить 125 Гц. По этому я эти режимы и возможности не привел - для меня это было очевидно. smile.gif

ИМХО парень просто ошибся в расчетах. Будем ждать, что он скажет...


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 10 2007, 13:19
Сообщение #10


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(prottoss @ Jul 10 2007, 16:14) *
Я не говорил, что флаг TOVF не установится вообще в режиме СТС, но это возможно если OCR1A = 0xFF.

Это происходит при любом значении OCR0A.
В CTC режиме TOVF устанавливается при TCNT == OCR0A
Посмотрите же даташит на t2313 наконец.
В CTC режиме события OCA и OVF происходят синхронно. Можете и на эмуляторе проверить заодно.

Цитата
ИМХО парень просто ошибся в расчетах. Будем ждать, что он скажет...

всяко может быть.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 13:31
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(defunct @ Jul 10 2007, 21:19) *
Это происходит при любом значении OCR0A.
В CTC режиме TOVF устанавливается при TCNT == OCR0A
Посмотрите же даташит на t2313 наконец.
В CTC режиме события OCA и OVF происходят синхронно. Можете и на эмуляторе проверить заодно.
Да ни в жисть не поверю пока носом не ткнете - еще раз утверждаю флаг TOVF = 1, только если ТС0 = 0xFF!!!


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 10 2007, 14:20
Сообщение #12


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(prottoss @ Jul 10 2007, 16:31) *
Да ни в жисть не поверю пока носом не ткнете - еще раз утверждаю флаг TOVF = 1, только если ТС0 = 0xFF!!!

В прикрепленном архиве проект avr-studio для эмуляции поведения TOVF.
Загрузите test.aps в Avr-Studio, в открышемся ASM файле должны быть расставлены точки останова на строки

rjmp TIM0_OVF ; Timer0 Overflow Handler
и
rjmp TIM0_COMPA ; Timer0 Compare A Handler

если точки останова почему-то потерялись - поставьте их вручную.

Откомпилируйте проект и запустите. Сработает первая точка останова (на строке COMPA), после этого идите по шагам, и внимательно проследите за TOVF таймера 0. Если облом следить - то просто запустите тест дальше - и вы попадете во вторую точку останова - прерывание по OVF.

В тесте установлен режим CTC, OCR0A установлен в 250.
TOVF устанавливается в 1 непосредственно в момент сброса TCNT в 0. (иначе и быть не может, т.к. раз сбросился - значит переполнился)
Прикрепленные файлы
Прикрепленный файл  Test.zip ( 1.87 килобайт ) Кол-во скачиваний: 29
 
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 15:05
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(defunct @ Jul 10 2007, 22:20) *
В тесте установлен режим CTC, OCR0A установлен в 250.
TOVF устанавливается в 1 непосредственно в момент сброса TCNT в 0. (иначе и быть не может, т.к. раз сбросился - значит переполнился)
07.gif Извините, милейший, но я в Вашем проекте ни слова, пардон, ни кода про СТС... Ерунда какая то - загрузили OCR1A значением - понятно, дальше в TCCR0B кинули (1 << WGM02)|1 - ???????? Вы сами даташит хоть одним глазом смотрели????????? lol.gif

Для СТС надо чтоб WGM01 = 1, WGM00 == 0 (это вообще в TCCR0А находится) WGM02 = 0 (А вот это находится в TCCR0B ) тогда все работает как надо.



А у Вас, как у того парня, счетчик досчитывает до OCR0A, генерит прерывание, едет дальше, переполняется, генерит переполнение, ну и так далее biggrin.gif



Вот Вам НАСТОЯЩИЙ ЦТС biggrin.gif biggrin.gif biggrin.gif



Цитата(=GM= @ Jul 10 2007, 22:55) *
Лехко. Ставите прескалер на 256, WGM=5 и OCR0A=125, тогда каждые 250 импульсов входной частоты будет возникать прерывание TOV0. Ну и поскольку входная частота для этого режима равна 8000/256=31.25 кГц, то прерывания по переполнению таймера0 будут возникать каждые 125 Гц, никаких чудес.
ДА УЖЖЖЖЖ..... Вы читали про WGM=5, то бишь PWM fase correct Mode? За 512 тактов счетчика у Вас будет ровно ДВА прерывания от OCR0A - разделите 512 на 2 и получите коэффициент деления счетчика 256... ГДЕ ТУТ ДЕЛЕНИЕ НА СТО ДВАДЦАТЬ ПЯТЬ??????????????

Дорогой мой друг, в PWM fase correct ТС не сбрасывается по совпадению с OCR, просто фаза выходного сигнала меняется smile.gif
Прикрепленные файлы
Прикрепленный файл  Test.rar ( 839 байт ) Кол-во скачиваний: 33
 


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 10 2007, 16:13
Сообщение #14


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(prottoss @ Jul 10 2007, 14:05) *
ДА УЖЖЖЖЖ..... Вы читали про WGM=5, то бишь PWM fase correct Mode? За 512 тактов счетчика у Вас будет ровно ДВА прерывания от OCR0A - разделите 512 на 2 и получите коэффициент деления счетчика 256...

А як жеж, читал два раза(:-)! Вам бы тоже не мешало, заодно и слово Fase подправили бы.

Я ж вам объясняю...популярно..., как работает Phase Correct PWM mode при WGM=5. Счётчик считает от BOTTOM=0 до TOP=OCR0A, потом направление счёта аппаратно меняется и он считает от TOP=OCR0A до BOTTOM=0, направление счёта опять меняется (взято прямо из описания doc2543i, с.73). При достижении BOTTOM=0 устанавливается флаг переполнения TOV0 и возникает ОДНО прерывание по переполнению таймера0.

При WGM=1 устройство работает точно так же, только TOP=0xFF. Действительно, в таком режиме будет деление на 256+256=512. Вы различие двух режимов WGM=1 и WGM=5 понимаете?

Я-то вам толкую про режим WGM=5 и TOP=125 (число, записанное в OCR0A). В этом случае TOV0 будет появляться каждые 125+125=250 импульсов входной частоты 31,25 кГц, т.е. TOV0 будет возникать с частотой 125 Гц.

Цитата(prottoss @ Jul 10 2007, 14:05) *
ГДЕ ТУТ ДЕЛЕНИЕ НА СТО ДВАДЦАТЬ ПЯТЬ??????????????

Да ёлы-палы, какие 125? Чтобы получить 125 Гц=8000000/256/250 прерывания, надо прескалер установить на 256, а таймер на 250, но никак на 125.

Цитата(prottoss @ Jul 10 2007, 14:05) *
Дорогой мой друг, в PWM fase correct ТС не сбрасывается по совпадению с OCR, просто фаза выходного сигнала меняется smile.gif

Не сбрасывается, ну и что? Он считает сначала вверх, потом вниз и устанавливает TOV0, который вы как раз и оспариваете, утверждая, что автор не может использовать прерывание по переполнению, поскольку он использует режим сравнения.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 16:38
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(=GM= @ Jul 11 2007, 00:13) *
Не сбрасывается, ну и что? Он считает сначала вверх, потом вниз и устанавливает TOV0, который вы как раз и оспариваете, утверждая, что автор не может использовать прерывание по переполнению, поскольку он использует режим сравнения.
Блин... Вы опять все сног на голову. Я ничего не утверждал. Я просто прицепился к тому, что в маленькой песчинке smile.gif исходного кода было показано прерывание по переполнению, при этом говорилось, что прескалер = 256, счетчик автоматически сбрасывается при достижении значения 125. По коду я понял, что счетчик, это переменная time, которая и сбрасывается "автоматически"...Хоят по коду соооовсем не видно, где эта переменная делает ++.



Самое главное, что завтра, по прочтенни данного топика автор многое узнает smile.gif ... Во первых узнает, как люди ломают копья над неосвещенными вопросами. Во вторых ознакомится с режимами работы ТС0 и , думаю, для него много прояснится. smile.gif


--------------------
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 10 2007, 22:35
Сообщение #16


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(prottoss @ Jul 10 2007, 16:38) *
Блин... Вы опять все с ног на голову. Я ничего не утверждал

Здравствуйте вам! Как же вы ничего не утверждали, когда в посте #19 вы говорите
Цитата(prottoss @ Jul 10 2007, 12:29) *
Я хочу сказать, что человек не использует Output Compare Unit, а использует переполнение счетчика ТС0, неужели это не понятно??? Таким образом у него получается частота 8.000.000 / 256 (прескалер) / 256 (переполняемый ТС0) = 122, .... Гц. Я сделал такой вывод, потому что человек привел код с прерыванием по переполнению

Вам было сказано, что вывод неверен, что Output Compare Unit МОЖНО использовать вместе с прерыванием TOV0, при этом частота прерываний таймера0 по переполнению будет 125 Гц.

Далее вам было показано, что нужно сделать (пост #33)
Цитата(=GM= @ Jul 10 2007, 14:55) *
Лехко. Ставите прескалер на 256, WGM=5 и OCR0A=125, тогда каждые 250 импульсов входной частоты будет возникать прерывание TOV0. Ну и поскольку входная частота для этого режима равна 8000/256=31.25 кГц, то прерывания по переполнению таймера0 будут возникать каждые 125 Гц, никаких чудес


И после этого говорить, что ничего не утверждали? Ну теперь-то согласны, что можно (но не обязательно нужно) легко, непринуждённо и без всяких извратов получить 125-ти герцовое прерывание по переполнению, используя Output Compare Unit в режиме Phase Correct PWM?

(Для ссылок см. посты #13, #17, #19, #22, #33, #34, #38, #41)


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 12 2007, 22:30
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(=GM= @ Jul 11 2007, 01:35) *
Ну теперь-то согласны, что можно (но не обязательно нужно) легко, непринуждённо и без всяких извратов получить 125-ти герцовое прерывание по переполнению, используя Output Compare Unit в режиме Phase Correct PWM?


С удовольствием почитал Ваши изыски. Хочется отметить, что Вы безусловно знаете толк в извращениях. Ну я в э.... хорошем смысле этого слова. biggrin.gif

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

Фактически можно послать любой кусок старой программы и, подписавшись чужим именем, с помощью провокаций, умело поддерживать тему. Ч/з две недели искомая программа будет написана. smile.gif prottoss-а нужно сильно разозлить, высказать неуважение к его знаниям. Если удастся задеть за живое - он к вечеру проект готовый и отлаженный выложит. Всю работу закинет, а это сделает! smile.gif

lol.gif
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 12 2007, 22:40
Сообщение #18


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(SasaVitebsk @ Jul 13 2007, 01:30) *
(=GM= @ Jul 11 2007, 01:35)
С удовольствием почитал Ваши изыски. Хочется отметить, что Вы безусловно знаете толк в извращениях. Ну я в э.... хорошем смысле этого слова. biggrin.gif

lol.gif

"я злой и страшный, серый волк,
я в ИзвращеньЯх знаю толк"

© Мурзилка из Красная Шапочка (приключения Кати Очкаревой)
Go to the top of the page
 
+Quote Post
=GM=
сообщение Jul 13 2007, 10:31
Сообщение #19


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(SasaVitebsk @ Jul 12 2007, 21:30) *
С удовольствием почитал Ваши изыски. Хочется отметить, что Вы безусловно знаете толк в извращениях. Ну я в э.... хорошем смысле этого слова. biggrin.gif

(С)Француженка, быть может, мать твоя...(:-) Ну я б чё-нибудь другое сказал про извраты, но модераторы у нас строгие, пришли на ум слова из песни, Гарик Сукачёв поёт.

Цитата(SasaVitebsk @ Jul 12 2007, 21:30) *
Я бы не додумался. Всё таки чёткое знание работы переферии помогает ... выкрутится из любой ситуации. А парень, как и следовало ожидать, ответил просто - блин, я ж не ту программу вам послал. smile.gif Поздно, она уже у нас заработала! smile.gif

Ну, разработчик систем с встроенным микроконтроллером (или имбеддер на англицкий манер) волей-неволей должен знать оборудование, с которым он работает, и вдумчиво его использовать, иначе это будет не езда, а ёрзанье(:-). Последних надо бы называть ёрзальщиками(:-).

А вот всем вам вопрос на засыпку: зачем введён такой режим WGM=5?

Цитата(SasaVitebsk @ Jul 12 2007, 21:30) *
prottoss'а нужно сильно разозлить, высказать неуважение к его знаниям. Если удастся задеть за живое - он к вечеру проект готовый и отлаженный выложит. Всю работу закинет, а это сделает! smile.gif

Ну prottoss'а никто не злил, по крайней мере не с моей стороны, на мой взгляд, его есть за что уважать.
Проттосс, не злись, денег не будет(:-).

Саша, у меня пара вопросов к вам, не знаю, может новую ветку открыть, ну как получится. Какие сейчас модны (и востребованы) драйверы для светодиодов для панно, ну и цены тоже интересно...Никогда этим не занимался, а тут нашёл интересное (и дешёвое, вроде бы) решение - один чип управляет током 8-16 диодов со средним током до 70 мА на диод и никаких внешних элементов...Что скажете?

Цитата(defunct @ Jul 12 2007, 21:40) *
"я злой и страшный, серый волк,
я в ИзвращеньЯх знаю толк"
© Мурзилка из Красная Шапочка (приключения Кати Очкаревой)

Мне больше нравится из Красной Пашечки: ...вдали проковылял хромой заяц с явными признаками цирроза печени, волк привалился к березе и дал дуба.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jul 13 2007, 16:18
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(=GM= @ Jul 13 2007, 13:31) *
Саша, у меня пара вопросов к вам, не знаю, может новую ветку открыть, ну как получится. Какие сейчас модны (и востребованы) драйверы для светодиодов для панно, ну и цены тоже интересно...Никогда этим не занимался, а тут нашёл интересное (и дешёвое, вроде бы) решение - один чип управляет током 8-16 диодов со средним током до 70 мА на диод и никаких внешних элементов...Что скажете?

Самые распространённые похоже MBI. Они и найболее гуманные по цене. есть на 8 и 16 светодиодов. 70ма это норма для данных корпусов.
Хотя тема сейчас популярная и выпускаются драйвера многими фирмами. Например TI. Вот здесь, к примеру http://www.e-neon.ru/ интересные предложения. Походу какая то новая контора открылась. Есть драйвера на 24 светодиода (8RGB), а также готовые драйвера для полноцветных матриц с динамической индикацией.

Вопрос цены в данном секторе весьма любопытный. Лучше поговорить с EXeGLuMATOR или ещё с кем нибудь из тех кто экранами занят. Я только бегущие строки и табло делаю пока. Экранов даже в проекте нет. Смысл в том, что они берут всё это миллионами и десятками миллионов штук. В связи с этим цена у них раза в два меньше чем у меня. Так я ещё и жду по 3 месяца заказ. Но, в принципе, цены сейчас существенно упали. Если буквально 3 года назад светодиодная моно матрица 8х8 стоила 5$, то теперь 1.5$.

Появились светодиоды 18W. 07.gif Прайс тут обзорный прислали.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AndryG   Tiny2313 нужна 1 сек. на таймер 0   Jul 8 2007, 19:46
- - AndreyKeil   Цитата(AndryG @ Jul 9 2007, 01:46) Реж...   Jul 8 2007, 20:09
|- - defunct   Цитата(AndreyKeil @ Jul 8 2007, 23:09) Кв...   Jul 8 2007, 21:18
|- - singlskv   Цитата(defunct @ Jul 9 2007, 01:18) Это т...   Jul 8 2007, 22:12
- - GetSmart   Тоже думаю, что виновата не программа, а точность ...   Jul 8 2007, 22:18
|- - singlskv   Цитата(GetSmart @ Jul 9 2007, 02:18) Прич...   Jul 8 2007, 22:27
- - prottoss   Мдя... И никто не сказал, что уход то из-за того, ...   Jul 9 2007, 00:09
|- - singlskv   Цитата(prottoss @ Jul 9 2007, 04:09) Мдя....   Jul 9 2007, 00:39
|- - ae_   Цитата(prottoss @ Jul 9 2007, 09:09) Мдя....   Jul 9 2007, 00:47
|- - prottoss   Цитата(ae_ @ Jul 9 2007, 08:47) Начал отв...   Jul 9 2007, 10:42
|- - defunct   Цитата(prottoss @ Jul 10 2007, 13:27) Как...   Jul 10 2007, 10:44
||- - prottoss   Цитата(defunct @ Jul 10 2007, 18:44) OCR0...   Jul 10 2007, 10:49
||- - defunct   Цитата(prottoss @ Jul 10 2007, 18:05) Из...   Jul 10 2007, 16:09
||- - prottoss   Цитата(=GM= @ Jul 11 2007, 00:13) А як же...   Jul 10 2007, 16:15
||- - defunct   Цитата(=GM= @ Jul 10 2007, 19:13) Не сбра...   Jul 10 2007, 16:21
||- - prottoss   Цитата(=GM= @ Jul 11 2007, 06:35) Здравст...   Jul 11 2007, 11:06
|- - =GM=   Цитата(prottoss @ Jul 10 2007, 12:14) Ну ...   Jul 10 2007, 14:55
|- - =GM=   Цитата(prottoss @ Jul 10 2007, 12:14) Ну ...   Jul 10 2007, 15:10
|- - prottoss   Цитата(=GM= @ Jul 10 2007, 23:10) Про изв...   Jul 10 2007, 15:15
- - defunct   Цитата(AndryG @ Jul 10 2007, 08:28) Вот с...   Jul 10 2007, 09:59
- - defunct   ЦитатаНо у парня прерывание не по совпадению с OCR...   Jul 10 2007, 12:54
- - Elegorod   ЦитатаПосмотрите же даташит на t2313 наконец. Всем...   Jul 10 2007, 14:17
|- - prottoss   Цитата(Elegorod @ Jul 10 2007, 22:17) Все...   Jul 10 2007, 14:22
|- - defunct   Цитата(Elegorod @ Jul 10 2007, 17:17) В к...   Jul 10 2007, 14:28
|- - prottoss   Цитата(defunct @ Jul 10 2007, 22:28) Это ...   Jul 10 2007, 14:33
|- - defunct   Цитата(prottoss @ Jul 10 2007, 17:33) Oxo...   Jul 10 2007, 14:38
- - Elegorod   Тогда и в тексте описания ошибки, и во всем раздел...   Jul 10 2007, 14:34
- - kada   Вполне возможно, что дело в кварце. Столкнулись с ...   Jul 10 2007, 14:39
- - AndryG   Почитал я ветку ... и понял, что сейчас мне на оре...   Jul 11 2007, 05:25
- - олесь   Все верно,если на кварце 8.000, то частотомер, нап...   Jul 12 2007, 19:31
|- - singlskv   Цитата(олесь @ Jul 12 2007, 23:31) Все ве...   Jul 12 2007, 20:59
- - defunct   ЦитатаА вот всем вам вопрос на засыпку: зачем введ...   Jul 13 2007, 10:44
|- - =GM=   Цитата(defunct @ Jul 13 2007, 09:44) ЧИМ ...   Jul 13 2007, 11:31
|- - prottoss   Цитата(=GM= @ Jul 13 2007, 19:31) Это как...   Jul 13 2007, 11:53
|- - =GM=   Цитата(prottoss @ Jul 13 2007, 10:53) ШИМ...   Jul 13 2007, 15:23
|- - prottoss   Цитата(=GM= @ Jul 13 2007, 23:23) Мне каз...   Jul 13 2007, 15:38
|- - =GM=   Цитата(prottoss @ Jul 13 2007, 14:38) Я п...   Jul 13 2007, 16:33
|- - prottoss   Цитата(=GM= @ Jul 14 2007, 00:33) Ну хотя...   Jul 13 2007, 16:45
|- - =GM=   Цитата(prottoss @ Jul 13 2007, 15:45) Это...   Jul 13 2007, 21:38
|- - defunct   Цитата(=GM= @ Jul 14 2007, 00:38) 2) Где ...   Jul 13 2007, 22:27
|- - =GM=   Цитата(defunct @ Jul 13 2007, 22:27) Реги...   Jul 14 2007, 21:03
|- - defunct   Цитата(=GM= @ Jul 15 2007, 00:03) Ерунду ...   Jul 14 2007, 22:39
|- - =GM=   To defunct. Кажется понял наконец корень всех затр...   Jul 15 2007, 10:45
|- - prottoss   Цитата(=GM= @ Jul 15 2007, 18:45) то не в...   Jul 15 2007, 12:33
|- - =GM=   Цитата(prottoss @ Jul 15 2007, 12:33) При...   Jul 15 2007, 13:34
|- - defunct   Цитата(=GM= @ Jul 15 2007, 16:34) Слова в...   Jul 15 2007, 15:53
|- - =GM=   Цитата(defunct @ Jul 15 2007, 15:53) Пере...   Jul 15 2007, 16:43
|- - defunct   Цитата(=GM= @ Jul 15 2007, 19:43) Перечит...   Jul 15 2007, 22:04
- - GetSmart   Цитата(=GM=)Саша, у меня пара вопросов к вам, не з...   Jul 13 2007, 13:53


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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:44
Рейтинг@Mail.ru


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