Теория и практика AVR ассемблера.
Ой матушки.. Да кто ж заводит Dude с семёрки? Она с XP SP2 дружит... 
- Реклама
Ой, короче капут. Смотрите ниже, самые важные выводы преобразователь ни к чему не подключены

Думаю, мне проще будет купить другую FT232RL и на ее основе сделать нормальный программатор.
Ну, попытался еще раз, подключил плату, создал батник с таким содержимым
C:
cd "avrdude"
avrdude.exe -p tn13A -c ftbb -P ft0 -e -U flash:w:"C:\AssemblerApplication5.hex":i
pause=null
Сохранил на диске C, запустил, пишет

Думаю, мне проще будет купить другую FT232RL и на ее основе сделать нормальный программатор.
Ну, попытался еще раз, подключил плату, создал батник с таким содержимым
C:
cd "avrdude"
avrdude.exe -p tn13A -c ftbb -P ft0 -e -U flash:w:"C:\AssemblerApplication5.hex":i
pause=null
Сохранил на диске C, запустил, пишет
Андрей Бедов, может хватит уже писать, ради того, чтобы написать? Тут и без ваших сообщений хорошо.
АндрейАвербах, для программирования с помощью битбанга ft232rl обычная дудка не подходит. Avrdude из основной ветки до сих пор не поддерживает такой тип программаторов, уже третий год баг открыт:
http://savannah.nongnu.org/bugs/?30559
Нужен патченный avrdude. Ищите на easyelectronics, в статье про программатор на ft232rl был такой.
Удачи в сборке программатора!
АндрейАвербах, для программирования с помощью битбанга ft232rl обычная дудка не подходит. Avrdude из основной ветки до сих пор не поддерживает такой тип программаторов, уже третий год баг открыт:
http://savannah.nongnu.org/bugs/?30559
Нужен патченный avrdude. Ищите на easyelectronics, в статье про программатор на ft232rl был такой.
Удачи в сборке программатора!
only pure true norwegian blackx 
Спасибо, blackx!
Кстати, чем лучше разводить дорожки лаком на ПП: иголкой или зубочисткой?
Ибо, до сих пор разводил плату рейсфедером.
ЗЫ Лазерный утюг не предлагать, нет у меня лазерника.
Патченный avrdude вот отсюда? http://easyelectronics.ru/skorostnoj-av ... llera.html
И еще, решил я еще раз наскочить на прерывания. На этот раз я решил попробовать таймер/каунтер на тини13а.
Написал прогу.
.include <tn13Adef.inc>
.dseg
.cseg
.org 0x0000 ;вектора прерываний
rjmp Reset
.org 0x0002
rjmp EXT_INT0
.org 0x0004
rjmp PCINT
.org 0x0006
rjmp TIM0_OVF
.org 0x0008
rjmp EE_RDY
.org 0x000A
rjmp ANA_COMP
.org 0x000C
rjmp TIM0_COMPA
.org 0x000E
rjmp TIM0_COMPB
.org 0x0010
rjmp WATCHDOG
.org 0x0012
rjmp ADC_
;Reset:
EXT_INT0:
PCINT:
;TIM0_OVF:
EE_RDY:
ANA_COMP:
;TIM0_COMPA:
TIM0_COMPB:
WATCHDOG:
ADC_:
RETI
;********************************* обработчик прерываний
TIM0_COMPA:
TIM0_OVF:
ldi R16, 0
out TCNT0, R16
RETI
;********************************* основная прога
Reset:
ldi R16, low (ramend) ;настройка стека
out SPL, R16
ldi R16, 0b111111 ;настройка портов
out DDRB, R16
ldi R16, 0x06 ;разрешение прерываний компаратора
out TIMSK0, R16
ldi R16, 0b00000001 ;выбор частоты счетчика
out TCCR0B, R16
ldi R16, 0x02 ;число для сравнения
out OCR0A, R16
ldi R16, 0 ;обнуление таймера
out TCNT0, R16
sei ;глобальное разрешение прерываний
m: nop ;основной цикл
nop
nop
nop
nop
nop
rjmp m
И не удивляйтесь, что на обработчик прерываний ведут две метки, дело вот в чем.
История этой программы.
Часть программы взять с сайта easyelectronics, а часть с нашего Радиокота, а часть вообще, из даташита. Потом все аккуратненько перемешивается и оптимизируется под себя.
Работа программы.
Ну, сначала все норм, стек, настройка портов и т.п., но только доходим до основного цикла начинаются странности.
Таймер считает свои два такта, как ему и положено, но потом переходит не на TIM0_COMPA, а на TIM0_OVF.
Вопрос: почему?
Кстати, чем лучше разводить дорожки лаком на ПП: иголкой или зубочисткой?
Ибо, до сих пор разводил плату рейсфедером.
ЗЫ Лазерный утюг не предлагать, нет у меня лазерника.
Патченный avrdude вот отсюда? http://easyelectronics.ru/skorostnoj-av ... llera.html
И еще, решил я еще раз наскочить на прерывания. На этот раз я решил попробовать таймер/каунтер на тини13а.
Написал прогу.
.include <tn13Adef.inc>
.dseg
.cseg
.org 0x0000 ;вектора прерываний
rjmp Reset
.org 0x0002
rjmp EXT_INT0
.org 0x0004
rjmp PCINT
.org 0x0006
rjmp TIM0_OVF
.org 0x0008
rjmp EE_RDY
.org 0x000A
rjmp ANA_COMP
.org 0x000C
rjmp TIM0_COMPA
.org 0x000E
rjmp TIM0_COMPB
.org 0x0010
rjmp WATCHDOG
.org 0x0012
rjmp ADC_
;Reset:
EXT_INT0:
PCINT:
;TIM0_OVF:
EE_RDY:
ANA_COMP:
;TIM0_COMPA:
TIM0_COMPB:
WATCHDOG:
ADC_:
RETI
;********************************* обработчик прерываний
TIM0_COMPA:
TIM0_OVF:
ldi R16, 0
out TCNT0, R16
RETI
;********************************* основная прога
Reset:
ldi R16, low (ramend) ;настройка стека
out SPL, R16
ldi R16, 0b111111 ;настройка портов
out DDRB, R16
ldi R16, 0x06 ;разрешение прерываний компаратора
out TIMSK0, R16
ldi R16, 0b00000001 ;выбор частоты счетчика
out TCCR0B, R16
ldi R16, 0x02 ;число для сравнения
out OCR0A, R16
ldi R16, 0 ;обнуление таймера
out TCNT0, R16
sei ;глобальное разрешение прерываний
m: nop ;основной цикл
nop
nop
nop
nop
nop
rjmp m
И не удивляйтесь, что на обработчик прерываний ведут две метки, дело вот в чем.
История этой программы.
Часть программы взять с сайта easyelectronics, а часть с нашего Радиокота, а часть вообще, из даташита. Потом все аккуратненько перемешивается и оптимизируется под себя.
Работа программы.
Ну, сначала все норм, стек, настройка портов и т.п., но только доходим до основного цикла начинаются странности.
Таймер считает свои два такта, как ему и положено, но потом переходит не на TIM0_COMPA, а на TIM0_OVF.
Вопрос: почему?
Сравните Ваши адреса прерываний с адресами из DS на ATtiny13
Спойлер
- Реклама
Попробуйте так и почувствуйте разницу.
Спойлер
Код: Выделить всё
.include <tn13Adef.inc>
.dseg
.cseg
.org 0x0000 ;вектора прерываний
rjmp Reset
;.org 0x0002
;rjmp EXT_INT0
;.org 0x0004
;rjmp PCINT
.org 0x0003
rjmp TIM0_OVF
;.org 0x0008
;rjmp EE_RDY
;.org 0x000A
;rjmp ANA_COMP
.org 0x0006
;rjmp TIM0_COMPA
;.org 0x000E
;rjmp TIM0_COMPB
;.org 0x0010
;rjmp WATCHDOG
;.org 0x0012
;rjmp ADC_
;********************************* обработчик прерываний
TIM0_COMPA:
NOP
TIM0_OVF:
ldi R16, 0
out TCNT0, R16
RETI
;********************************* основная прога
Reset:
;ldi R16, low (ramend) ;настройка стека
;out SPL, R16
ldi R16, 0b111111 ;настройка портов
out DDRB, R16
ldi R16, 0x06 ;разрешение прерываний компаратора
out TIMSK0, R16
ldi R16, 0x80 ;число для сравнения
out OCR0A, R16
ldi R16, 0b00000001 ;выбор частоты счетчика
out TCCR0B, R16
LDI ZH,0
;ldi R16, 0x02 ;число для сравнения
;out OCR0A, R16
;ldi R16, 0 ;обнуление таймера
;out TCNT0, R16
sei ;глобальное разрешение прерываний
m:
nop ;основной цикл
;nop
;nop
;nop
;nop
;nop
rjmp m
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
АндрейАвербах, на Ваших скриншотах ничего не видно. Либо делайте их крупнее, либо просто копипастите из консоли.
Вот так должен выглядеть скрин:

А вот так из него копируется текст:

Потом выделяете мышкой:

И жмете Enter. Потом вставляете в свой любимый текстовый редактор.

Или сразу постите на форум:
Понятно, что текстом гораздо лучше - экономится трафик, место на сервере. Да и читабельнее, нет проблем с масштабированием.

Вот так должен выглядеть скрин:

А вот так из него копируется текст:

Потом выделяете мышкой:

И жмете Enter. Потом вставляете в свой любимый текстовый редактор.

Или сразу постите на форум:
Код: Выделить всё
D:\mc>cd FTBB
D:\mc\FTBB>progm48 D:\mc\prj\C\sdcard_spi\default\sdcard_spi.hex
D:\mc\FTBB>avrdude.exe -p m48 -c ftbb -P ft0 -e -U flash:w:D:\mc\prj\C\sdcard_spi\default\sdcard_spi.hex:i
avrdude.exe: ft0 open failed
D:\mc\FTBB>pause 1>null
Боюсь, что ни тем, ни другим Вы плату для FT232 не нарисуете...Кстати, чем лучше разводить дорожки лаком на ПП: иголкой или зубочисткой?
Вы статью-то ту читали? Там же все написано. И про то, что обычная дудка не подходит, и про то, откуда брать патченный... Для чего я Вам эту ссылку давал?Патченный avrdude вот отсюда? http://easyelectronics.ru/skorostnoj-av ... llera.html
Разница между теорией и практикой на практике гораздо больше, чем в теории.
akl, я так и сделал, все работает.
YS,
Но, вот как я ее паять хочу, вам покажется странным.
Паять я ее буду жалом специфичной формы, короче, берется жало медное обыкновенное. И затачивается напильником под... как сказать то лучше, одним словом ширина остается как есть, но вот толщину сводим к 1-2 мм. Кончик делаем острый-преострый. Ну, как-то так.
ЗЫ Статью читал, скачал себе патченную дудку.
YS,
Ну, глаза еще есть, слава Богу. Но руки временами потрясываются(12 лет). Ладно, в среду(четверг) мне мама микру купит, а там попытаюсь плату иголочкой развести, на заводское изготовление, конечно, претендовать не будет, но все же...Боюсь, что ни тем, ни другим Вы плату для FT232 не нарисуете...
Но, вот как я ее паять хочу, вам покажется странным.
Паять я ее буду жалом специфичной формы, короче, берется жало медное обыкновенное. И затачивается напильником под... как сказать то лучше, одним словом ширина остается как есть, но вот толщину сводим к 1-2 мм. Кончик делаем острый-преострый. Ну, как-то так.
ЗЫ Статью читал, скачал себе патченную дудку.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Ну, я-то тоже не старик.Ну, глаза еще есть, слава Богу. Но руки временами потрясываются(12 лет).
ОК, скажем так. Из опыта, я бы не стал рисовать плату для микросхемы в корпусе SSOP-28 руками.
Купите лазерный принтер. Если собираетесь заниматься серьезно, он очень пригодится. Да и по прямому назначению экономичнее, чем струйный...
Если есть струйный, можно изначально поднять фоторезистивную технологию.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Струйный есть, в засохшем состоянии
Мама как-то принесла систему беспрерывной подачи чернил, установили в принтер, а емкость с чернилами поставили выше, чем принтер, ну и пошло-поехало, до часу ночи я в душе сидел
Сейчас все никак не соберемся отдать принт в ремонт.
Ну, а прямо иголкой вы платы пробовали разводить? Если да, то какую толщину дорожек удавалось получить?
Я, разводя плату рейсфедером, добивался толщины дорожек в 1-1,5мм, но это при желании.
Мама как-то принесла систему беспрерывной подачи чернил, установили в принтер, а емкость с чернилами поставили выше, чем принтер, ну и пошло-поехало, до часу ночи я в душе сидел
Сейчас все никак не соберемся отдать принт в ремонт.
Ну, а прямо иголкой вы платы пробовали разводить? Если да, то какую толщину дорожек удавалось получить?
Я, разводя плату рейсфедером, добивался толщины дорожек в 1-1,5мм, но это при желании.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Вполне реальные цифры. Только вот для того, чтобы запаять FT232, надо рисовать дорожки шириной 0.4 мм с расстоянием между ними 0.65 мм с допуском 0.02 мм. 14 с одной стороны, 14 с другой. Это если в SSOP-28. С корпусом QFN все еще суровее - его еще и паять сложно.Я, разводя плату рейсфедером, добивался толщины дорожек в 1-1,5мм, но это при желании.
О-о-о, это было слишком давно. Боюсь, я уже не найду тех плат, чтобы померять.Ну, а прямо иголкой вы платы пробовали разводить? Если да, то какую толщину дорожек удавалось получить?
Дешевле будет купить новый. А если новый лазерный - еще и полезнее.Сейчас все никак не соберемся отдать принт в ремонт.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Эх, если б все было так радужно
На дворе у нас 2013 год, а значит и кризис
И эта сочинская олимпиада, на которую уходят все деньгигосударства народа, додуматься же, строить в городе-курорте объекты для ЗИМНЕЙ олимпиады.
Ладно, в общем попробую иголочкой развести. Попытка - не пытка.
На дворе у нас 2013 год, а значит и кризис
И эта сочинская олимпиада, на которую уходят все деньгигосударства народа, додуматься же, строить в городе-курорте объекты для ЗИМНЕЙ олимпиады.
Ладно, в общем попробую иголочкой развести. Попытка - не пытка.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
Я бы скотчем спробовал.Ладно, в общем попробую иголочкой развести. Попытка - не пытка.
Наклеиваете на плату скотч, и прорезаете скальпелем контуры дорожек, потом лишнее снимаете.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Я рисовал специальным маркером. Шаг ножек 1,25 рисуется несложно, но это край. Спичкой или иголкой, боюсь, не выйдет.
А я бы попробовал попросить родителей сберечь мне здоровье и нервы и заказать у китайцев переходник SSOP28 - DIP28, он стоит копейки. Правда придется месяц ждать. Такой можно и в магазинах найти, если хорошо искатьYS писал(а):Я бы скотчем спробовал.
Вот например, 10 переходников за 150 рублей, доставка - бесплатно:
http://www.aliexpress.com/item/HOT-SALE ... 08271.html
only pure true norwegian blackx 
Ну, есть три причины:
1. Мама не любит покупок через интернет (типа одни мошенники на каждом углу)
2. До нашего захолустья это будет идти не месяц, и не два(я так думаю, захолустьем является город Абакан)
3. Хочется самому попытаться развести плату для такой мелочи
Пришел в магазин, и... обломчик вышел. Нет у них FT232RL, не заказывали. Я пораскинул мозгами, вспомнил, что в какой-то статье я видел замену данной микре на max232, взял ее.
1. Мама не любит покупок через интернет (типа одни мошенники на каждом углу)
2. До нашего захолустья это будет идти не месяц, и не два(я так думаю, захолустьем является город Абакан)
3. Хочется самому попытаться развести плату для такой мелочи
Пришел в магазин, и... обломчик вышел. Нет у них FT232RL, не заказывали. Я пораскинул мозгами, вспомнил, что в какой-то статье я видел замену данной микре на max232, взял ее.
- Сообщения: 7518
- Зарегистрирован: Вс мар 29, 2009 22:09:05
... купить лазерный принтер.А я бы попробовал попросить родителей сберечь мне здоровье и нервы и ...
Чесслово, это самый нормальный вариант.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Ладно платы и так развести можно, нету того, чем ПРОГРАММИРОВАТЬ микроконтроллер
И это самое ужасное...
Порылся в инете, оказывается, кроме ft232rl существуют еще преобразователи интерфейса, это радует
Но я не могу понять вот эту схему http://radiokot.ru/circuit/digital/pcmod/05/11.gif
Может мне кто-нибудь дать ее в целом виде, а то много так проводников
И смогу-ли я на следующих микросхемах сделать программатор для avr со скоростью работы как вот здесь http://easyelectronics.ru/skorostnoj-av ... llera.html ?
Микросхемы:
FT232BM
TUSB3410
PL2303
И это самое ужасное...
Порылся в инете, оказывается, кроме ft232rl существуют еще преобразователи интерфейса, это радует
Но я не могу понять вот эту схему http://radiokot.ru/circuit/digital/pcmod/05/11.gif
Может мне кто-нибудь дать ее в целом виде, а то много так проводников
И смогу-ли я на следующих микросхемах сделать программатор для avr со скоростью работы как вот здесь http://easyelectronics.ru/skorostnoj-av ... llera.html ?
Микросхемы:
FT232BM
TUSB3410
PL2303
Последний раз редактировалось АндрейАвербах Вт май 28, 2013 16:02:47, всего редактировалось 2 раза.


