Учусь ассемблеру - "микроконтроллеры avr" от белова а.в.

Тема в разделе "Флудилка", создана пользователем OldKryptos, 11 ноя 2021.

  1. b707

    b707 Гуру

    сорри, коллега, но замечание совсем не в кассу. Фриртос тут не поможет, он замедляет работу МК, а не ускоряет. Ну и вообще фриртос не для этого :)
     
  2. Рокки1945

    Рокки1945 Гуру

    Ничего страшного - это было ЦУ для Паровозза
     
  3. parovoZZ

    parovoZZ Гуру

    не знаю, для чего делают freertos, но uOS на голову выше.
    RTOS здесь не поможет никак, т.к. всё реализуется в рамках одного потока.
     
  4. Рокки1945

    Рокки1945 Гуру

    да просто в этой теме уже каждый о своем говорит - только не об асме
     
    Asper Daffy нравится это.
  5. issaom

    issaom Гуру

    Ну видишь ли.... у меня в 7-м классе советской школы, программирования не было (да и самого понятия персональный компуктер не существовало) За то был учебник по геометрии, а ПЗУ ZX был встроенный калькулятор для матана, поэтому тогда я решил задачу в лоб и в принципе работало.
     
  6. OldKryptos

    OldKryptos Гик

    "Нажав ногой своей на мощный фьюз..."
    В далеко не худшей части моей жизни было много музыки. Играл в рок группе, была своя, и по старой привычке преднастройки контроллеров хочется назвать "фузы", а не "фьюзы". Итак:

    FUSES ~
    Пока выполняешь урок за уроком, особых проблем как правило, не возникает. Кода не много, и мелкие опечатки, которые встречаются по тексту книги, быстро находятся в процессе отладки. В общем, рутина. Но когда начинаешь закрепление материала на другой железке, жить становиться интересней.
    Существуют калькуляторы, которые выставляют фьюзы согласно выбранным опциям... На этом месте можно было бы и закончить, но я полез смотреть даташиты учебного 2313A и 85го контроллера, который использую для самостоятельной работы. Меня интересовали настройки тактовой частоты. И тут я не совсем понял одну вещь (допускаю, что я неправильно понял описание). Как я понял, все настройки во FUSES нужно понимать инверсно. То есть если в мануале напротив опции стоит логическая единица, то в настройках чекбокс должен быть пустым. И наоборот, логический ноль в описании являет собой галочку в настройках.
    asm05.JPG

    В AVRDUDE_PROG 3.3, который я использую как загрузчик, есть возможность перещелкивать инверсную подачу в прямую, но я в конце, концов решил не злоупотреблять переключениями и остановиться на инверсном варианте.

    Пример того, как настройки для внешнего кварца 4МГц выглядят в даташите и на панели Аврдьюд:
    Даташит:

    asm08.JPG
    Фьюзы:
    asm04.JPG

    Мне нужно было выставить настройки под внешний кварц "4МГц", это было не сложно, но вот бит CKDIV8 я так и не познал. По идее это предделитель частоты на уровне фьюзовских настроек. Но тогда согласно концепции, если в настройках стоит в чекбоксе галочка, то он должен быть неактивым. Но. фиг вам. Тут как раз если на нем галочка, то он - активный. В общем, решил принять это, как факт - Все настройки регистра Fuse Low Byte активны, если галочки не проставлены, за исключением бита предделения (1/8) CKDIV8. Он не такой, как все, у него все наоборот.
    Забегая вперед, скажу, что в настройках внутреннего RC осциллятора, тоже не все понятно было, но еще не решил, рассказать об этом, или нет.
     
    Последнее редактирование: 14 ноя 2021
  7. akl

    akl Гуру

    я так понимаю в таких штуках как осциллятор, размер бутлодера и прочие вещи где больше 2ух состояний - там никакой логики в принципе нет - просто число по порядку. Ну а все остальные фишки включаются вот так задом наперед - если ноль значит включено. непонятно почему.
     
  8. Feofan

    Feofan Нерд

    Если верить http://monitor.espec.ws/files/fuse_168.pdf, то:
     
    OldKryptos нравится это.
  9. a1000

    a1000 Гуру

    Тоже читал об этом. FUSE устанавливались одноразово, пережиганием перемычек. Ведь FUSE так и переводится - предохранитель. Изначально все перемычки были целыми, т.е. стояли в положении 1. Те, которые надо было пережечь отмечались галочками и после пережигания они становились 0. Неотмесенные галочками оставались целыми, следовательно 1. С тех пор так и оставили.
     
    OldKryptos нравится это.
  10. a1000

    a1000 Гуру

    Нк да, так намудрили разработчики. Для вкючения делителя надо CKDIV8=0. Может они исходили из того, что делитель нормально включен и при необходимости его надо отключать.
    Ну в что-бы не перепутать биты, всегда сверяйте шеснадцатиричные значения LOW, HIGH и EXTENDED байтов.
     
  11. OldKryptos

    OldKryptos Гик

    Есть еще вариант, что AVRDUDE_PROG 3.3 косячит. Но баг безобидный, поэтому никто на него внимания не обращает.
     
  12. parovoZZ

    parovoZZ Гуру

    Я пользуюсь студией. Там всё интуитивно понятно.
    fuse.png
     
  13. parovoZZ

    parovoZZ Гуру

    ну спрашивай.

    предедлитель меняй в программе. Этот фьюз выставляет тот же самый предедлитель, только в момент загрузки. По заводу выставлен, чтобы запускалось на самом малом напряжении.
     
  14. akl

    akl Гуру

    дак а в чем косяк то? там все остальное - бутлодер, внутрисхемное программирование, отключение резета, вачдог и т.д. точно так же нулем активируется.
     
    SergeiL нравится это.
  15. SergeiL

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

    Я тоже думал, что Wi-Fi - полная фигня, и ничего круче провода нет.
    Пока не поменял точки Wi-Fi в квартире. Их сейчас три штуки работают, бесшовный роуминг для телефонов, вызовы по Wi-Fi не разу не прерывались. А вот с сотовой на 15 этаже была проблема, в квартире окна на 3 стороны, чуть прошел и был разрыв. Соседство базовых не прописано, вот и проблемы. Причем как на Мегафоне так и на МТС.
    А по ESP, уже много лет работают штук 25 ESP на разных платах, и чего то я не замечал, что они чем то хуже обычной Меги по надежности ;)
    Не помню ни одной перезагрузки по вочдогу, работают на большей тактовой, памяти больше и Wi-Fi на борту, в меньших размерах.

    UPD: по Асму и Си писать не буду, все и так знают мое мнение.
    Писал на Асме, пока не было Си под 8051, потом только на Си.
    Главное отличие Си - он же кроссплатформенный, и на PDP и на VAX и на РC, AVR, STM.
    Ну @parovoZZ же не знает про вставки на Асме. Это я про это:
     
    Airbus нравится это.
  16. akl

    akl Гуру

    вайфай фигня. у меня вот весь день всё работает отлично, а часов в 10-11 вечере внезапно начинает то и дело отваливаться вайфай на всех устройствах, причем независимо от расстояния до роутера. по проводу все отлично при этом. Каналы менял уже по всякому, не помогает.
    может роутер бяка
     
  17. SergeiL

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

    ESP с надежным соединением по интернет супер надежная вещь!!!
     
  18. parovoZZ

    parovoZZ Гуру

    2.4 у меня забит в усмерть. Поэтому перешёл в 5.6. Подскажите ESP, которая умеет в этом диапазоне?
     
  19. Airbus

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

    А Мопед летать умеет? А почему нет? А вот у меня и 2.4 и 5.6 забито вусмерть. И двор Лендкрузерами заставлен. И чо делать? Дам тебе один совет—езжай на остров Врунгеля там ни одного wi fi и эфир чист как слеза! Только об этом никому!
     
    issaom нравится это.
  20. Airbus

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

    То же самое! Менял провайдеров Ростелеком ,ТТК, Йота, МТС та же фигня. После 23 все умирает до рассвета. Но провода не вариант хотя и правда иногда хочется полевкой все соединить. Да и нет ни у Алисы ни у Сбербокса штекеров под провода. Издержки цивилизации аднака. У каждого роутер, айфон и куча умных устройств. Не хватает каналов и частот. Все забито