ассемблер ногодрыг

Тема в разделе "Микроконтроллеры AVR", создана пользователем Ардуинщик55055, 17 сен 2018.

?

какая плата

  1. атмега

    0 голосов
    0,0%
  2. уно

    0 голосов
    0,0%
  3. нано

    3 голосов
    42,9%
  4. про мини

    0 голосов
    0,0%
  5. еще какие то спец платы

    1 голосов
    14,3%
  6. и те и другие

    3 голосов
    42,9%
  1. задолбало что си всю память забивает и от:



    .def temp = r16
    .def rr1 = r17
    .def rr2 = r18
    .org 0
    LDI R16, Low(RAMEND) OUT SPL, temp LDI R16, High(RAMEND) OUT SPH, temp
    rjmp start
    start:

    ldi temp,0xFF
    out DDRB, temp
    out PORTB, temp
    ldi rr1,2
    rcall delay
    ldi temp,0x00
    out PORTB, temp
    ldi rr1,2
    rcall delay
    rjmp start
    delay:
    dec rr1
    brne delay
    ret

    хотел blink сделать. но светодиод светится и не мигает. вроде в протеусе должна а с реальным не хочет
     
  2. и еще вопрос. когда выхожу в атмел студии то не могу нажать на кнопку симуляции(через нее хекс получаю) приходится новый файл создавать. и с программатором и прочим все норм шьет.
     
  3. Limoney

    Limoney Гик

    как написал, так и работает, подсчитай скорость микроконтроллера
     
  4. SergeiL

    SergeiL Оракул Модератор

    Прекрасно!!! :)
    Си память не забивает, память забивает непонимание Си и использование функций типа Serial.print() и чужих библиотек. ;)
    Ассемблер, это конечно прекрасно, но я не думаю, что написанная Вами программа на asm, будет сильно короче в коде, грамотно написанной, такой же программы на Си. Например для AVR+W5500 -> MQTT клиент.
    А главное, будет ли она стабильна в работе :).
    Про Си-то не волнуюсь, работой с памятью, в Си занимается компилятор ;).
     
    Последнее редактирование: 17 сен 2018
    Ардуинщик55055 и Mitrandir нравится это.
  5. Да, я имел ввиду библиотеки.
    И ещё добавил задержку побольше. Заработало(иногда более часа работы начинаю тупить)

    Но со студией проблема. Когда заново открываю проект то кнопка симуляции |> не работает. Приходится новый проект делать
    (крутилок в проге к тому же много ,скачал недавно программу. Разбираюсь)
     
  6. parovoZZ

    parovoZZ Гуру

    В качестве программатора необходимо указать симулятор.
     
    Ардуинщик55055 нравится это.
  7. Airbus

    Airbus Радиохулиган Модератор

    А что у Вас за delay такой смешной? Там ЕМНИП 1 микросекунда.Вот и переклюючает ее каждую микросекунду.Там надо или трехразрядный счетчик делать или задержку по таймеру.Да и Порт переключать лучше битовыми операциями итпа sbi.порт пин cbi порт пин.Blink на асме для Ардуино я выкладывал много лет назад сравнивал его с сишным и ардуиновским.Ничего сложного.Но размеры кода явно меньше особенно ардуиновского это факт.
     
    Последнее редактирование: 18 сен 2018
  8. Airbus

    Airbus Радиохулиган Модератор

    И вообще код у Вас кривой.И нерабочий.Почитайте Ревича Программирование AVR.Там все в примерах и шаблонах.Там много интересного даже для Сишников.
     
  9. Недавно начал просто учить.
     
  10. А где кнопка?
     
  11. parovoZZ

    parovoZZ Гуру

    А yandex не говорит?
     
  12. Понял. Нашел(но Яндекс нету). Вопрос в другом уже. Есть дудка(avrdude) и добавил программатор в атмел студию. В студии сигнатуру неправильно читает.
    avrdude.exe: Device signature = 0x1e950f(не меняется (при помехах меняется))
    avrdude.exe: Expected signature for ATMEGA8 is 1E 93 07

    Но через синапрог читает нормально (1Е9307)

    И хотел бы узнать что такое virtual assist (помидор)
     
  13. И ещё верификации ошибка иногда. Понял. Оно ардуино прошивает(программатор сам) от команда что к дудке гоаорит:
    -F -P com2 -c arduino -p atmega8 -U flash:w:$(TargetName).hex
     
    Последнее редактирование: 21 сен 2018
  14. ostrov

    ostrov Гуру

    На Си спортивный ногодрыг дрыгает каждый тик, быстрее уже никак даже на асме.
     
  15. Видел можно проект сделать с си но не wiring ардуиновский а что-то нормальное. Но мне сам инструмент студию надо выучить. Кнопок дофига... Не могу разобраться с ними не говоря о коде
     
  16. parovoZZ

    parovoZZ Гуру

    В сети полно обучающего материала. Для легкого старта все знать не обязательно.
     
  17. ostrov

    ostrov Гуру

    В чем принципиальная разница? В отсутствии millis()?
     
  18. AlessandrIT

    AlessandrIT Гик

    Надо было назвать тему "Познание Atmel Studio или Ёжик в Тумане"...
     
    Ардуинщик55055 нравится это.
  19. b707

    b707 Гуру

    понимаю, что ответ запоздал - но вы бы описание дудки почитали сначала. Опция -с задает тип программатора, вариант "-c arduino" означает прошивку ардуино БЕЗ ПРОГРАММАТОРА, через стандартный загрузчик. Вот оно у вас первую ардуину(ту, из которой вы программатор сделали) и прошивает... И по этой же причине у вас читалась неправильная сигнатура чипа - просто вы читали сигнатуру чипа программатора, сигнатура соответсвует Атмеге328
    Чтобы шить платы через Ардуино скетчем "Arduino as ISP" - нужно ставить опцию -c AVRISP
     
  20. Сделал нормальный юсбасп и половина проблем решилась. Особенно программирование нового МК(частота низкая. Джампер меняю)