Тёмный

Микроконтроллеры avr для начинающих " Урок9 атомарные операции " 

Microcontrollers
Подписаться 46 тыс.
Просмотров 18 тыс.
50% 1

Опубликовано:

 

29 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 25   
@fulloflolcats
@fulloflolcats 9 лет назад
приятно, что показано в atmel studio, так как мне пришлось программировать в ней. было приятно посмотреть ваш урок до чтения официальных datasheet.
@Александр-д2м9ч
@Александр-д2м9ч 11 лет назад
Спасибо! Все понятно!!! Жду урок про RF12!!!
@sdn992
@sdn992 3 года назад
Что насчет сохранения контекста ? Тогда и прерывания отключать нет нужды.
@nagirich
@nagirich 11 лет назад
Познавательно, для общего образования, не помешает=) Но хотельсь бы больше практических уроков=)(расмотреть те фишки, которые часто применяются, например: spi, uart,какие нибудь хитрости в програмировании и т.д.) А Так, Спасибо за уроки)
@АлександрПисанец
Будут и эти уроки.
@nagirich
@nagirich 11 лет назад
Будем ждать=)
@АлександрМордышов
Здравствуйте! Александр, у меня вопрос а какие книги по Си вы изучали?
@КонстантинЮрьевичЖестков
Благодарю за Ваш труд. Прошу растолковать два вопроса по данному уроку: 1.Например, в прерывании не используется переменная Pauza. Может ли при каких то условиях компилятор использовать и заменить значение в R24 (ведь р-ров общего назначения ограниченное кол-во - вдруг всех остальных не хватит для выполнения задачи по обработке прерывания)? 2.Можно ли "приватизировать" регистры для переменных?
@maksymgrom1631
@maksymgrom1631 9 лет назад
Константин Юрьевич Жестков , если РОН не "приватизирован" то он может быть использован по усмотрению компилятора. Как "приватизировать" РОН, смотрите к руководству Вашего компилятора. Причем, если забрать РОН для переменной, она будет 8 битовая (если 8 битовый мкк), или придется брать 2 РОНа, и так далее, а они ограничены. Но ассемблер будет выполнять обращение к этой переменной непосредственно, что даст выигрыш по времени выполнения программы.
@ericsson3507
@ericsson3507 11 лет назад
Александр а вы как и где изучали програмирование мк и Atmel Studio
@АлександрПисанец
Самостоятельно все изучал. Та и продолжаю изучать, только другие микроконтроллеры.
@katsuk
@katsuk 9 лет назад
Столкнулся с таким макросом ATOMIC BLOCK(ATOMIC RESTORESTATE) { } это как раз оно, как я понимаю?
@АлександрПисанец
+Юрий Ильин Не подскажу ,сам не знаю. С таким не разбирался
@katsuk
@katsuk 9 лет назад
+Александр Писанец похоже, что оно. Внутри этой процедуры из комплекта студии можно помещать атомарные операции. Причем там есть настройки - либо будет запрет прерываний, либо если прерывание вызывается из тела этой процедуры, то каждый раз регистры будут сохраняться в стеке. Гибко довольно.
@vladimirlee5928
@vladimirlee5928 4 года назад
Вы про волатильные переменные ни слова не сказали.
@TheT735
@TheT735 9 лет назад
Дилетантское имхо - не следует использовать одни и те же переменные в прерываниях и основном теле программы.
@АлександрПисанец
+Алексей Непершев И по каким таким причинам это делать нельзя?. То что у переменой одинаковые имена не делает из одинаковыми. Посмотрите как все в ассемблере выполняется, и вы сами поймете.
@romandavydov8684
@romandavydov8684 2 года назад
Можно их использовать Только для того чтобы избежать глюков надо сохранять текущее значение переменной в стеке при входе в обработку прерывания и возвращать из стека при выходе из подпрограммы
@narodable
@narodable 8 лет назад
Посмотрел 9 уроков, только до сих пор не пойму asm("nop / cli / sei ") как ими пользоваться? Когда и где их нужно вставлять? Подскажите, кто знает? И еще народ, кому не трудно, кто понимает, дайте ВК или мне напишите vk.com/kombarskiy. Чтобы можно было, если что посоветоваться или спросить...
@romandavydov8684
@romandavydov8684 2 года назад
У атмел есть инструкция по ассемблерным командам называется AVR instruction set manual. В ней расписаны команды ассемблера и даны примеры.
@narodable
@narodable 2 года назад
@@romandavydov8684 5 лет прошло😀
@romandavydov8684
@romandavydov8684 2 года назад
@@narodable причем как один миг.... как продвинулись знания за эти пять лет?
@narodable
@narodable 2 года назад
@@romandavydov8684 забросил я это. Потом на Ардуино делал всякую фигню, в нем намного проще. (Я изучал это все поверхностно)
@romandavydov8684
@romandavydov8684 2 года назад
@@narodable а зря.... все таки ассемблер рулит здесь. да на нем не просто но зато ты можешь рассчитать каждый такт ! и знать что к чему происходит в программе. недавно микрочип выпустил новые контроллеры типа смесь серии Xmega и AVR . очень интересные возможности там добавились. новые таймеры....и тд. классные плюшки. так что возвращайся это же увлекательная тема!
Далее
Программная защита паролем
23:40