Свежие обсуждения
Микроконтроллеры

AVR начинающим - вопросы и ответы

1 50 68

Явно какая-то путаница : они должны быть в одном состоянии , таком как RSTDISBL(только с ним осторожнее)
smg123: RSTDISBL - прошит

DWD: CKSEL0 - нет
CKSEL1 - нет

Думаю, вы включаете режим с внешним клоком.

 

DWD: Прошиваю его на программаторе UNIPROF. А что это за программатор, что стоит XP или семёрка, через какой порт подключен. В CVAVR программатор свой стоит и промежуточные звенья составленные homeuser программистами и как правило не поддерживаемые в дальнейшем только осложняют работу в большинстве случаев. Пик этого дурдома пришёлся при замене на семёрку операционной системы.

 

smg123: проверьте и подтвердите еще раз фузы:
CKDIV8 - прошит - тактовая делится на 8 (частота 16кГц) - поменяйте на противоположное.

Да, прошит. Так выставил в своей программе автор.
Попробую сегодня поменять на противоположное...

smg123: SPIEN - прошит - разрешено последовательное программирование - менять нельзя.

Да.
Его я вообще не трогаю и по нему ориентируюсь в путанице "прошит-не прошит" разных программаторов.
В частности, все авторские установки фузов в моём программаторе пришлось инвертировать.

smg123: RSTDISBL - прошит - отключен внешний ресет - как у вас тогда работает программатор - должно быть обратное значение?

Здесь требуется пояснение. Прошу прощения, что сразу об этом не сказал...
По замыслу автора вывод внешнего сброса МК используется как порт ввода-вывода, по этому при программировании бит RSTDISBL должен быть прошит.
Однако после его прошивки МК перестаёт работать с простым (низковольтным) программатором. А так как я хотел сначала убедиться в работоспособности прошивки, то этот бит оставил по умолчанию - не прошитым.
Просто вместо 4-х входов будет только 3, что не критично для проверки логики работы программы.
В общем, RSTDISBL - не прошит.

 

Alexey: В моем , выбирается из списка.

В Вашем - это каком?

Alexey: Слышал,в разных программаторах есть разночтения : прошит-не прошит.

Да. В моём случае это имеет место быть...

Alexey: Явно какая-то путаница : они должны быть в одном состоянии , таком как RSTDISBL(только с ним осторожнее)

Думаю, это я уже прояснил...

Alexey: DWD: CKSEL0 - нет
CKSEL1 - нет
Думаю, вы включаете режим с внешним клоком.

Нет.
Во первых, я ориентировался на даташит МК, сопоставляя установку этих битов с типом внутреннего генератора.
Ну и во вторых, если бы оказался включенным режим внешнего генератора, то этим же программатором вернуть к "жизни" МК у меня бы уже не получилось. Пришлось бы подключать внешний генератор. Но я, ведь, этого не делал. Обошлось...
Значит, внутренний генератор продолжал работать, но так как, согласно утверждению Alexey:
"Частота программировния должна быть в 4 раза ниже частоты кристалла",
были какие-то нестыковки в тактировании и МК лювил глюки...

 

viczai: А что это за программатор...

UNIPROF

viczai: ...что стоит XP или семёрка...

XP

viczai: ...через какой порт подключен.

СОМ. Схема программатора в ссылке на него.

 

У вас у компа LPT прямой есть, вот туда всё и затачивайте, и не через прокладки Uniprof, а напрямую через CVAVR. А то ведь даже кто отвечал Вам здесь такую программу и не знают даже. ИМХО.

 

Действительно, Uniprof далеко не лучшая программа. В CVAVR программатор получше. Есть еще один вариант,
встроенный в BASCOM-AVR программатор. В нем есть встроенный калькулятор фьюзов, что очень удобно.

 

DWD: Так выставил в своей программе автор.
Судя по фьюзам автор использует тактовую 9,6 Мгц / 8 = 1,2 Мгц
Вам надо поменять CKDIV8 наоборот и поробовать еще раз.
Иначе у вас тактовая 128/8= 16 кГц, значит у вас шаг работы программы вырос в 1200/16=75 раз.
А в исходнике есть задержки 30 мкС. Поскольку WDT не привязан к тактовой проца - скорей всего у вас проц периодически уходит в ресет.
Создается впечатление что он "умер".

 

viczai: ...а напрямую через CVAVR.
BG: В CVAVR программатор получше.

Где можно посмотреть схему программатора к CVAVR?

smg123: ...у вас шаг работы программы вырос в 1200/16=75 раз

Спасибо. Уже рекомендовали выключить делитель, но всё недосуг...

А как в исходнике определить время задержки?
На сколько я понял, подпрограмма задержки подключается из внешней библиотеки...

 

Рюмик ступень 1 Рис.3. В интернете это сложно найти, это же ведь не продашь, как какой хитро замученный "программатор" и название программатор к нему как то не вяжется, как на старых мк, так шнурок AVR-ISP. В CVAVR выбирать для Programmer Kanda system STK200+/300