Вот те на!!!

Тема в разделе "Флудилка", создана пользователем Mestniy, 4 мар 2016.

  1. Mestniy

    Mestniy Гуру

    В ходе "глубоких":D исследований, обнаружил информацию: "В МК информация храниться в ячейках, по байтам". Вопрос, как понимает Arduino, когда мы отправляем команду "1" на цифровой пин? Если Atmega работает с байтами, то как тогда она понимает команду "1", ведь это бит?
    Вот ссылка на источник данной информации: http://pashkevich.me/article/2.html .
    Заранее спасибо.
     
    Viquis нравится это.
  2. Onkel

    Onkel Гуру

    Pinz04.jpg miniFromB09.jpg
    Библия для ардуинщика - даташит на atmega328, а не пашкевич, при всем к нему уважении.
    Команду "1 на пин n порта m" ардуина понимает как
    PORTm|=1<<n
    т.е. выставляет бит n в регистре порта m в единицу
    соответствие портов мк и портов ардуины
    Pinz04.jpg miniFromB09.jpg
    пы сы PA справа следует читать как PC
     
    Последнее редактирование: 4 мар 2016
    Mestniy нравится это.
  3. Mestniy

    Mestniy Гуру

    Просто, может я че не так понял? Но перечитав, я именно это и понял.
     
    Viquis нравится это.
  4. Onkel

    Onkel Гуру

    в командах самого микроконтроллера бит нет, установка отдельных портов делается предварительным формированием байта всех ног порта и установкой этого байта. В программах типа С или ардуино ide могут быть команды побитные, например
    PORTA.5=1,
    но все равно они после трансляции приводятся к побайтным командам.
    То же и в ассемблере - можно дать команду выставить или проверить пин (в условном переходе), но данные в мк , в том числе регистры периферии, хранятся побайтно, у регистров это PINx, PORTx и DDRx - состояние на пинах, регистр выхода и регистр состояний пинов "вход или выход" регистра х (в 324 x может быть B,C,D).
     
    Mestniy нравится это.
  5. Mestniy

    Mestniy Гуру

    Понял спасибо!
     
    Viquis нравится это.