Страница 44 из 628
Добавлено: Ср фев 11, 2009 15:32:07
Chabrez
asteroid7
Это да. Но и сложность там на порядок выше, причем программный код как правило пишут сразу несколько человек, что неминуемо приводит к рассогласованности разных частей кода. Но это и правда философия

Добавлено: Вт фев 17, 2009 21:46:03
GRAF
Скажите, что не так в коде?
Мне нужно было сдвинуть фазу сигнала на порте PB1 на +120 град. отн-но порта PB0. Запустил симуляцию в VMLAB, там наоборот фаза PB0 сдвинута на +120 град. отн-но PB1
Код: Выделить всё
#include <avr>
#include <avr>
#include <avr>
void main()
{
unsigned int i=10;
DDRB = (1<<DDB1) | (1<<DDB0);
while(1)
{
PORTB=_BV(PB0);
_delay_ms((2*i)/3);
PORTB=_BV(PB1);
_delay_ms(i-((2*i)/3));
PORTB=~_BV(PB0);
_delay_ms(2*i/3);
PORTB=~_BV(PB1);
_delay_ms(i-((2*i)/3));
}
}
Добавлено: Ср фев 18, 2009 09:26:38
rush
Подскажите пожалуйста. правильно ли я настроил таймер?

контроллер - ATtiny13, частота 4мгц
Код: Выделить всё
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 500.000 kHz
// Mode: CTC top=OCR0A
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x02;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0x7D;
OCR0B=0x00;
// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x04;
ub2msbr = 1550000;
interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
if (ub2msbr)
{
ub2msbr--;
}
}
по моим расчетам он должен отсчитать 3100 миллисекунд до обнуления переменной ub2msbr. если не правильно подскажите как сделать чтоб было правильно

Добавлено: Чт фев 19, 2009 08:34:10
rush
обьясните пожалуйста что такое "open drain output/input" и как это реализовать на ATtiny13. заранее спасибо

Добавлено: Чт фев 19, 2009 11:35:13
smac
rush писал(а):обьясните пожалуйста что такое "open drain output/input" и как это реализовать на ATtiny13. заранее спасибо

Вход/выход с открытым стоком. На тини13 реализуется с помощью записи в PORTB нулей и управления регистром DDRB. Когда в соответсвующем бите регистра DDRB - 1 - соответсвующий вывод (в данном случае
выход) "притянут" к земле, когда в соответсвующем бите регистра DDRB - 0, вывод "отпущен" и может считаться входом. Обычно в таких случаях пользуются внешней "подтяжкой" вывода к + питания. В состоянии когда в DDRBn - 0 напряжение на выводе естественно зависит от того что к нему подключено. Думаю со схемой было бы понятней, но рисовать лень
Добавлено: Чт фев 19, 2009 22:19:34
rush
smac писал(а):rush писал(а):обьясните пожалуйста что такое "open drain output/input" и как это реализовать на ATtiny13. заранее спасибо

Вход/выход с открытым стоком. На тини13 реализуется с помощью записи в PORTB нулей и управления регистром DDRB. Когда в соответсвующем бите регистра DDRB - 1 - соответсвующий вывод (в данном случае
выход) "притянут" к земле, когда в соответсвующем бите регистра DDRB - 0, вывод "отпущен" и может считаться входом. Обычно в таких случаях пользуются внешней "подтяжкой" вывода к + питания. В состоянии когда в DDRBn - 0 напряжение на выводе естественно зависит от того что к нему подключено. Думаю со схемой было бы понятней, но рисовать лень
Спасибо за ответ, но у меня возник еще один вопрос по притяжке когда DDRB=0. В основном в процессе работы контроллера ножка является высокоомным входом и к ней подключается выход декодера. В даташите к декодеру написано что на выходе должна быть 1 по умолчанию, но у меня он почемуто постоянно равен 0. Пробовал в настройках порта задать внутреннюю подтяжку, но это не помогло, да и в даташите явно указано, что ножка должна быть высокоомным входом. может быть внешняя притяжка о которой ты говорил поможет это исправить?! я так понимаю это делается через резистор подключенный к + питания, но как расчитать этот резистор???

и по таймеру подскажите пожалуйста. вопрос чуть выше этого поста))
Добавлено: Пт фев 20, 2009 00:04:06
smac
rush писал(а):В даташите к декодеру написано что на выходе должна быть 1 по умолчанию, но у меня он почемуто постоянно равен 0.
Ничего не понятно, сылку на даташит и схему подключения в студию!
rush писал(а): я так понимаю это делается через резистор подключенный к + питания, но как расчитать этот резистор???
Правильно понимаете, номинал резистора сильно зависит от того что вы хотите получить, также номинал может быть оговорен в документации (в общем нужно смотреть что требуется). Общие рекоммендации - ток через резистор при подаче на него напряжения питания не должен превышать допустимого тока через вывод микросхемы.
rush писал(а):

и по таймеру подскажите пожалуйста. вопрос чуть выше этого поста))
Код не очень хорошо оформлен, цифры там, где должны быть имена регистров (TIMSK0, OCR0A), да и считать лень, может кто-то еще посчитает. Посмотрите вот это где-то с середины страницы
http://www.radiokot.ru/forum/viewtopic. ... ht=#179988 там подробно объяснен расчет таймеров.
Добавлено: Вс фев 22, 2009 11:20:54
p911
мне в наследство достался вот такой вот программатор...но на нем нет ни одной опознающей надписи...помогите плиз опознать программатор....желательно ссылку на сайт производителя..или хотябы название проги для работы с ним
Добавлено: Вс фев 22, 2009 13:07:21
Yellow Tiger
p911 писал(а):...желательно ссылку на сайт производителя...
Что-то он не похож на фирменный - обычный, типовой корпус, плата адаптера к верхней части - "пришуруплена". Если бы нутро было видно на фото, кто-нибудь мог бы его узнать, а так - ЗИФы и кроватки на всех программаторах одинаковые.
Добавлено: Пт фев 27, 2009 19:10:20
DataLife
Народ, выручайте!
Собрал не так давно свой первый программатор. STK200+/300 (по схеме
http://radiokot.ru/lab/controller/29/)
Сегодня только сделал удлинитель и подключил к компу. Дрова DLportIO (полная версия) стоят.
После первого подключения загорелся диод "питание". Оставил на пару минут включённым в комп - диод начал плавно тухнуть. Последующие пробы показали, что диод загорается, когда штекер удлинителя соединяю с программатором (когда не все контакты вошли друг в друга).
При попытке что-то прошить - avreal пишет, что якобы не видит программатор.
Как убедится, что прогромматор всё же найден компом и чем проблемы вызваны такие меня? ...

Добавлено: Пт фев 27, 2009 22:27:08
Yellow Tiger
Именно программатора не видит? Если так, то проверь наличие перемычек на DB25, а если не видит мелкоконтроллера, то общая последовательность проверок подлиннее, для начала:
- проверь монтаж
- проверь наличие перемычек на DB25
- проверь наличие сигнала на выводах DB25, затем на входах 244-й (1,2,4,6,8,11,13,15,17,19)
- проверь наличие сигнала на выходах 244-й (18,16,14,12,3,5,7,9)
P.S. Сигналы, разумеется, нужно проверять во время попыток программирования - это происходит быстро, если не виден кристалл, то за пару секунд, если не виден программатор, то еще быстрее.
Добавлено: Сб фев 28, 2009 13:31:49
DataLife
Начал проверять свой самодельный удлинитель - нашёл кучу ошибок в нём (уже обрадывался, что это в нём была проблема) - переделал, подключил к компу - и интересное было: пару секунд мигали светики питания и программирования, затем обое потухли.
Попробывал что-то прошить в тини26 - пишет всё ту же басню:
Command: +attiny26 -! -p1 -as -ew output\hexfile.hex -n
Atmel STK* adapter not found, but forced by '-!'
Can't resync
Reset pin released
Adapter disabled
Если что-то менять в настройках порта ЛПТ, то загорается светик "питание" и продолжает гореть.
Почему-то мне кажется, что это дрова ... Есть ли какой-то драйвер кроме DLportIO ? Ничего ж не нужно более делать с драйвером, после установки и перезагрузки?
Каким образом проверяется сигнал на ногах 244 и DB25? Тестером: минус на землю и плюс искать на ногах?
=====
Сделал, как понял (минус тестера на землю - плюс на нужные ноги 244):
Питание 1-й ноги в холостую - 3.85V; во время программирования - падает до, примерно, 2V.
2-я: 3,75 - 2,5 В
4-я: 3,75 - 3,0 В
6-я без изменений
8-я: 0,04 - 0,05 В
.... и так далее. тоб-то, как я понял, сигнал есть ...
Попробовал я поставить ключ -аа (автоматический выбор адаптера) - пишет, что не нашёл известного адаптера... Оч интересно ...
ЗЫ. Так же иногда бывает, что после пробы прошить - программатор выключается (светик "питание" не горит) и тогда наблюдается картина, что скачёк напряжения на ногах 244 идёт от 0,04 (приблизительно) до 3,75 В при потытке заново прошить.
================
Продолжение темы
ТУТ
Добавлено: Сб фев 28, 2009 18:19:43
Dancer
Пожалуйста, сделайте фото платы программатора со стороны дорожек и со стороны элементов, фото удлинителя и платы расширения.
Добавлено: Сб фев 28, 2009 18:52:22
DataLife
Добавлено: Сб фев 28, 2009 22:52:09
Yellow Tiger
DataLife писал(а):Начал проверять свой самодельный удлинитель - нашёл кучу ошибок в нём...
Вот именно поэтому нет никакого смысла разглядывать фотографии платы - ни сухпая, ни КЗ на фотографии не разглядеть. Нужно просто прозванивать кабель и проверять по схеме прохождение сигналов.
Добавлено: Вс мар 01, 2009 14:44:15
DataLife
Yellow Tiger писал(а):Вот именно поэтому нет никакого смысла разглядывать фотографии платы - ни сухпая, ни КЗ на фотографии не разглядеть. Нужно просто прозванивать кабель и проверять по схеме прохождение сигналов.
Прозвонка кабеля дала положительные результаты - всё гут. После кабеля на плату идут сигналы.
Добавлено: Вс мар 01, 2009 15:32:07
Yellow Tiger
DataLife писал(а):После кабеля на плату идут сигналы.
Ну, и что же помешало продолжить изыскания?
Питание на буфере пристутствует? Порядок сигналов на ногах 244-й не перепутан? Сигналы на выход проходят?
Добавлено: Вт мар 03, 2009 22:04:53
DataLife
Можете поздравить меня

Программатор работает! Но, не через avreal, а через CodeVision.
Проблема уже в другом))))
Дабы не создавать новую тему, спрошу тут:
Как узнать, запорол я контроллер, или нет???))))
Короче, как было... Подключил я программатор, панельку, питание, контроллер... Выбрал в CodeVision Chip programmer свой уже готовый из обучения .hex файл и залил во флеш... Не знаю зачем (для того, чтоб было, наверно) залил его же и в EEPROM. Всё хорошо залилось... Даже на радостях, что всё таки работает - сделал эту процедуру несколько раз (ну не дурной ли?).
Теперь при попытке прошить Tiny26 прога пишет уже знакомую мне строчку, что типа или: программатор не запитан, не тот порт, не те настройки, ну или чип "
сломан"...
Как это проверить?
Нужно ли после нажатия на кнопочку "Program all" нажимать "Reset Chip"?
Если ДА, то если этого не делал, а просто отключал от компа - это смертельно для тиньки?

Добавлено: Вт мар 03, 2009 23:17:10
Aheir
А не надо новую тему. Можно часть спросить в теме про CVAVR, коли уж им шьете (вижу, что эту тему Вы нашли). А можно посмотреть темы про прошивку МК, коих - масса на форуме. Не стоит захламлять собственную тему.
По существу. Если не трогали фьюзы при прошивке, может и действительно камень навернулся, если трогали - есть варианты. Ну а hex в ЕЕПРОМ шить точно бесполезно.
Reset жать не обязательно, МК самостоятельно сбрасывается после прошивки.
Добавлено: Вс мар 08, 2009 00:38:58
Arlleex
Народ, а можно ли перепрограммировать AVR МК?
Какие можно перепрограммировать?