Запускать таймерKill17 писал(а):а как сделать, чтобы время ожидания составляло секунд 8-10 ?
Ассемблер (ASM) для AVR в вопросах и ответах
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Реклама
Мысль здравая, но я как-то не совсем понимаю, как это сделать. Не ругайтесь только, в данном вопросе разбираюсь недавно, много не понятного.Gudd-Head писал(а): Запускать таймер
Надо плясать от тактовой и от камня: смотреть какие есть таймеры, чем их можно тактировать и т.п.Kill17 писал(а):не совсем понимаю, как это сделать
Небольшой ликбез в теме про таймеры: http://radiokot.ru/forum/viewtopic.php? ... 3#p1779973
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Можно и без таймера обойтись. В коде между инициализацией и приемом байта у вас есть зачем-то 3 разные задержки. Можно вместо них сделать один счетчик, примерно так:
такой код будет в течении нужного времени ждать прием '?' и при его появлении сразу перейдет к загрузчику
Код: Выделить всё
инициализация
метка1:
счетчик=счетчик+1
если счетчик >= 8-10 секунд (подобрать константу исходя из скорости выполнения алгоритма), то переход куда надо
иначе прием байта
байт='?', переход на загрузчик
иначе переход на метку1
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
а если, даже в xmega, обработчики прерываний писать сразу после таблици векторов прерываний то jmp может и не пригодится ?Engineer_Keen писал(а):Только не 4кслова, а +2кслова. Т.к. RJMP относительный переход и из начала флеша в 16кбайт на -2кслов перепрыгнуть без грязных хаков не даст компилятор, мы это обсуждали пару страниц назад... С хаками можно из векторов прерываний прыгнуть по RJMP в области 0-2к и "размер флеша"-2к.
Tell Me The Truth
- Реклама
Если RJMP до обработчика достает, то конечно.
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
Engineer_Keen, в вашем примере
мне непонятен смысл этой строчки
зачем она, что будет если ее упустить ?
Код: Выделить всё
.include "m8def.inc"
.cseg
.org 0
RJMP RESET
.org OC2addr
RJMP DO_PWM
.org OC1Aaddr
RJMP FIFTY_MS
.org URXCaddr
RJMP UART_RX
.org UTXCaddr
RJMP UART_TX
.org INT_VECTORS_SIZE
RESET:
CLI
CLR ZERO
OUTI SPL,Low(RAMEND)
OUTI SPH,High(RAMEND)
[...]
Код: Выделить всё
.org INT_VECTORS_SIZE
Tell Me The Truth
Она указывает на конец таблицы векторов. Без нее ничего страшного не случится. Просто метка RESET будет расположена не после таблицы прерываний, а после последнего задействованного вектора (RJMP UART_TX).FreshMan писал(а):зачем она, что будет если ее упустить ?Код: Выделить всё
.org INT_VECTORS_SIZE
Неправильно собранная из неисправных деталей схема нуждается в отладке и сразу не работает... (С)
тоесть, я могу и не прописывать все вектора прерываний, а прописать только те что использую
но эта строка .org INT_VECTORS_SIZE является гарантом того что код моей программы будет размещен сразу после последнего вектора таблици векторов
так ?
но эта строка .org INT_VECTORS_SIZE является гарантом того что код моей программы будет размещен сразу после последнего вектора таблици векторов
так ?
Tell Me The Truth
Да, именно так.FreshMan писал(а):.org INT_VECTORS_SIZE является гарантом
Вообще уже обсуждалось не раз.
Если ещё не видели, то вот эту темку посмотрите. Там всего пара страниц.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
подскажите пожалуйста, кто в чем пишет на асме в линуксе ?
wine не предлагать !
wine не предлагать !
Tell Me The Truth
Это же линукс, значит VIM на первом месте.
Если не wine, то virtualbox 
Есть avr-gcc в комплекте с avr-as (GNU ассемблер для AVR).
Я сам, вот, никак не доберусь с eclipse разобраться и подружить его с вышеуказанной парочкой.
Думаю, что можно и прочие IDE подружить. Не говоря уже о просто редакторах типа kate или quanta.
Вообще, IDE-шек под линукс довольно много. Вот только у меня нет опыта их использования.
А так, есть, например, anjuta, geany, kdevelop, qt-creator, eclipse.
Eclipse точно может под AVR - к нему есть плагины "заточенные" под AVR.
Добавил чуть позже:
К стати, уважаемый ARV вполне преуспел в освоении Eclipse.
тынц и тынц
Есть avr-gcc в комплекте с avr-as (GNU ассемблер для AVR).
Я сам, вот, никак не доберусь с eclipse разобраться и подружить его с вышеуказанной парочкой.
Думаю, что можно и прочие IDE подружить. Не говоря уже о просто редакторах типа kate или quanta.
Вообще, IDE-шек под линукс довольно много. Вот только у меня нет опыта их использования.
А так, есть, например, anjuta, geany, kdevelop, qt-creator, eclipse.
Eclipse точно может под AVR - к нему есть плагины "заточенные" под AVR.
Добавил чуть позже:
К стати, уважаемый ARV вполне преуспел в освоении Eclipse.
тынц и тынц
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
У меня вообще иногда складывается ощущение, что ARV приплачивают за то, чтобы он целыми днями читал стандарты и осваивал что-то новое.
Если на асме и без пошаговой отладки - то Geany лучше всех! 
Вовсе не обязательно. Просто иногда как забуришся в какие-нибудь дебри, почитаешь стандарты, "вкуришь" как следует, разберёшься. А потом можно и статью написать. По мотивам своих изысканий и разбирательств, так сказать. И чем человек опытнее тем больше у него изысканий о которых он может рассказать.ИС-пытатель писал(а):У меня вообще иногда складывается ощущение, что ARV приплачивают за то, чтобы он целыми днями читал стандарты и осваивал что-то новое.
ИС-пытатель, ты, видать, ещё просто не дорос до такого состояния просветления
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
ИС-пытатель писал(а):У меня вообще иногда складывается ощущение, что ARV приплачивают за то, чтобы он целыми днями читал стандарты и осваивал что-то новое.

если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Так скока мне лет, и скока ARV! )) У него фора пол моей жизни! ))Kavka писал(а):ИС-пытатель, ты, видать, ещё просто не дорос до такого состояния просветления![]()
![]()
почему именно он ? чем он так хорош ?ANALOG писал(а):Если на асме и без пошаговой отладки - то Geany лучше всех!
Tell Me The Truth
Ну по сравнению с большинством IDE преимущество в том, что не нужно создавать проекты/что-либо еще кроме исходника.FreshMan писал(а):почему именно он ? чем он так хорош ?
По сравнению с обычными текстовыми редакторами - в том, что можно так настроить, чтоб прошивка компилировалась/прошивалась в один клик мышки.
Не стану утверждать, что это самый лучший вариант (отсутствие отладки все-таки серьезный минус), возможно есть что-то и покруче, но меня вполне устраивает


