Как бы я дал ответ на вопрос автора. Может еще кто то незнающий зайдет и прочитает.
Регистры -это блоки быстрой памяти размером 1 байт. В них находятся настройки для переферии мк (таймеры, счечики, ацп,i2c..)
Меняя регистр даем команду мк что и как нужно делать. точки зрения кода, регистр – это переменная 8 бит,
которую мы можем читать и писать управляя работой мк 8 бит, принимающих значение 0 и 1, то есть один регистр хранит 8
настроек, которые можно включить/выключить. Что делает каждый бит и регистр – подробным образом расписано в даташите мк.
Каждый регистр и бит имеет имя.Имена всех битов и регистров заданы (заняты, зарезервированы) в компиляторе глобально.
Абсолютно вся работа с регистрами заключается в установке нужных битов в нужном байте(в регистре) в состояние 0 или 1
того, кто это написал, я бы сразу, без разговоров, сажал на кол с особым цинизмом, на главной площади его сельского поселения.
Как бы я дал ответ на вопрос автора. Может еще кто то незнающий зайдет и прочитает.
Регистры -это блоки быстрой памяти размером 1 байт. В них находятся настройки для переферии мк (таймеры, счечики, ацп,i2c..)
Меняя регистр даем команду мк что и как нужно делать. точки зрения кода, регистр – это переменная 8 бит,
которую мы можем читать и писать управляя работой мк 8 бит, принимающих значение 0 и 1, то есть один регистр хранит 8
настроек, которые можно включить/выключить. Что делает каждый бит и регистр – подробным образом расписано в даташите мк.
Каждый регистр и бит имеет имя.Имена всех битов и регистров заданы (заняты, зарезервированы) в компиляторе глобально.
Абсолютно вся работа с регистрами заключается в установке нужных битов в нужном байте(в регистре) в состояние 0 или 1
Какая-то дикая мешанина из различных утверждений, часть из которых не верна в принципе, часть может быть верна, а может и нет - в конкретном случае, часть - не несет никакой полезной информации, а оставшаяся часть - тоже бесполезна, т.к. хоть и верна, но теряется на фоне всего остального.
И - еще: регистр - термин многозначный, причем различные фразы в цитируемом сообщении нередко относятся к различным значениям слова "регистр", а потому являются взаимоисключающими.
Может быть и верно ,а может быть и нет. А может вертолет. Вас бы в Африку жить, так там бы океан появился.
Если есть, что критиковать так давайте уж по существу и с примерами. А так и можно про что угодно написать.
Я написал, что я понимаю под регистром, а вы что ?
Вот вам список на выбор
Значение
список, указатель чего-либо, а также книга для записи таких указателей ◆ Отсутствует пример употребления (см. рекомендации).
лингв. подвид языка, характеризуемый своей лексикой, грамматикой, синтаксисом или фонологией ◆ Отсутствует пример употребления (см. рекомендации).
муз.диапазон, степень высоты голоса или музыкального инструмента ◆ Кукольник подвывал, капал на доску слезами, переносил голос то в верхний регистр, то в нижний. Борис Евсеев, «Евстигней», 2010 г. // «Октябрь»[НКРЯ]
муз.группа звукоизвлекающих механизмов с одинаковым тембром ◆ Отсутствует пример употребления (см. рекомендации).
это все замечательно, только это не ответ на вопрос ТС. В этом тексте написано про регистры контроллера, они к регистрам I2C не имеют никакого отношения.
хотели поумничать и сели в лужу. Еще раз говорю - изучайте основы.
Да хотел. А еще больше хотел разобраться в проблеме.
Потому что я понимаю это так. Микроконтролер - это Master устройство, которое управляет Slave устройствами по средством шины I2C. А регистры являются промежуточным звеном в командах Master. Если это не так поправьте меня.
Я смотрю вы боитесь написать лишнего по теме , чтобы не показаться дураком перед коллегами. Понимаю, когда плохо разбираешься в теме тяжело что то объяснить простыми словами.
Зато задавать глупые вопросы и умничать - тут вы первый)) Ну-ну. Так держать .
А мы смотрим, ты не боишься. Впрочем, такие, в основном, в интернетах и пишут, как только смогут отличить while от do..while. Зато потом читаешь их сентенции и аборжаца можно.
Микроконтролер - это Master устройство, которое управляет Slave устройствами по средством шины I2C. А регистры являются промежуточным звеном в командах Master. Если это не так поправьте меня.
не так. Регистры I2c - это принадлежность слейва, а не мастера. И об этом в теме выше тоже написано.
А мы смотрим, ты не боишься. Впрочем, такие, в основном, в интернетах и пишут, как только смогут отличить while от do..while. Зато потом читаешь их сентенции и аборжаца можно.
Нет не боюсь, с чего бы? Я не строю из себя знатока темы.
Нет не боюсь, с чего бы? Я не строю из себя знатока темы.
зато строите идиота...
Детский сад и в правду. Что. неужели трудно прочитать обьяснения в первых 20 сообщениях темы? Или просто не доходит, остается только кривляться и паясничать?
Детский сад и в правду. Что. неужели трудно прочитать обьяснения в первых 20 сообщениях темы? Или просто не доходит, остается только кривляться и паясничать?
Спрашиваю потому что в первых 20 ответах мне было не понятно.
А уж кривляния начал не я.
У этой медали две стороны.))
Недостаточность соображалки часто можно компенсировать хорошим объяснением. Если непонимающий хочет понять.
Ваши ответы были самые понятные и в основном по существу.
Регистр в цифровой схемотехнике это составная ячейка памяти, например 8 rs-триггеров, представляющих один байт. В стандарте i2c никаких регистров нет. Некоторые i2c-устройства определяют протокол работы со своими регистрами. Как с ними работать, описано в документации на это конкретное устройство.
Слушал я Вас долго и внимательно и не понимаю как можно быть таким дубовым. Если уж хочется понять, то надо начинать с проекта. Взять бумажку, карандаш нарисовать, блок схему устройства со всеми подробностями отдельных элементов вплоть до регистров управления нужными функциями, связями и над связями подписать протоколы по которым эти связи осуществляются. И подумать, а может поменять кое где протоколы в пользу упрощения? Например I2C на последовательный TTL? Если хочется оставить I2C, почему бы не взять программный блок связи от меги и целиком вставить в питон, поменяв название процедур. Аналоги у малинки есть.
Потому что я понимаю это так. Микроконтролер - это Master устройство, которое управляет Slave устройствами по средством шины I2C. А регистры являются промежуточным звеном в командах Master. Если это не так поправьте меня.
Чувствуется, что Вы пытаетесь нащупать понимание, но пока это не очень получается.
Во-первых, МК - не обязательно мастер, он может быть и слейвом и в этом случае протокол взаимодействия между мастером и слейвом может быть произвольным. В частности, использующим абстракцию регистров.
В частном случае управляемое устройство (slave) может содержать в себе набор реальных физических регистров, при помощи которых осуществляется управление этим устройством. В более общем случае регистр - это абстракция, которая может иметь любую реализацию: ячейка памяти, порт ввода/вывода, область информации на внешнем носителе и т.п. Но на программном уровне общение между мастером и слейвом происходит по сценарию, как если бы у слейва был набор физических регистров.
В принципе, к шине I2C ни физические, ни даже логические регистры никакого отношения не имеют, но в управлении многими устройствами, подключаемыми по I2C, используется абстракция регистров. Просто разработчики решили, что так будет удобнее.
Поэтому никакого ни самих регистров I2C, ни стандарта на них не существует, а для изучения способа общения между мастером и слейвом нужно пользоваться дэйташитом. После освоения двух-трех-четырех устройств Вы поймете, что, несмотря на всю свободу творчества, разработчики, как правило, останавливаются на одних и тех же принципах организации взаимодействия, и во многих случаях это - модель абстрактных регистров.
Коллеги! Есть в питоновской библиотеке и в старой smbus и в smbus2 работа и с регистрами в группе функций работы с шиной и просто чтение-запись побайтно или группой байт. Старая темя полуторалетней давности что-то всех зацепила, аж страшно! У нас у всех дефицит общения развился вдруг?
Не суть что это копипаст, главное что понятно и по существу а не то что было написано выше. Не бэ н мэ. Вода и ощущение непонимания темы. А человек просил именно такой понятный ответ по существу
Регистры тобой описанные , это регистры процессора (их всего 32) и с ними напрямую работает ядро процессора.
Их конечно можно менять даже и через i2c (это придется реализовывать в коде), но смысла в этом нет никакого.
В версии вопроса ТС речь идёт про абсолютно другие регистры.
В том случае под регистрами подразумеваются адреса памяти определенные для чтения/записи посредством работы с i2c. Адреса этих адресов :-) , определяются разработчиком железа.
Неправильно поняли. Регистры - набор триггеров, включенных параллельно или последовательно. Еще есть параллельно-последовательные регистры и последовательно-параллельные, там цепочки из триггеров получают информацию в последовательном виде и выдают ее в параллельном и наоборот.
Триггер, это такая бистабильная штука на двух или более транзисторах. Имеет два стабильных состояния. Может запоминать одноразрядные числа. Цепочки из триггеров могут запоминать многоразрядные числа.
Такшта регистр, это в первую очередь некое электронное устройство, и лишь затем оно "память" (благодаря тому, что в нем есть триггеры на транзисторах). А всякие там "ячейки памяти", "области памяти" и все такое прочее, это все ни о чем. В смысле - ни о чем вам не скажет, а только запутает до полной потери ориентации.
Полистайте старую литературу по цифровой электронике для начинающих. Там много всякого полезного, не в пример современным изданиям, где авторы сами плохо понимают о чем пишут.
Alcest - очередной прогон совсем не по теме... Еще напишите. что регистры - это обязательно микросхемы в дип-корпусе - будет полный комплект ахинеи в этой ветке
Полистайте старую литературу по цифровой электронике для начинающих. Там много всякого полезного, не в пример современным изданиям, где авторы сами плохо понимают о чем пишут.
Старпер детектед :) (если что, старпер - это не возраст, это состояние)
скажите лучше, что старые книжки вы понимали, а новые нет :) - вот и вся история :))))
Полистайте старую литературу по цифровой электронике для начинающих. Там много всякого полезного, не в пример современным изданиям, где авторы сами плохо понимают о чем пишут.
Старпер детектед :) (если что, старпер - это не возраст, это состояние)
скажите лучше, что старые книжки вы понимали, а новые нет :) - вот и вся история :))))
опять тебя понесло PS катушку безвозмездно не дам, ежели что это MCP4725...
скажите лучше, что старые книжки вы понимали, а новые нет :) - вот и вся история :))))
Хихик, можно подумать вы их понимаете, новые книжки :D
На самом деле у меня есть масса вопросов, на которые я не смог найти ответы. Возможно из-за того, что я старпер. Но вас я запомнил, и со своими непонятками непременно буду к вам обращаться. Вот и посмотрим, сможете вы человеческим языком в двух словах описать то, что не смогли разъяснить авторы непонятных новых книжек.
А "регистры" в микроконтроллерах таки настоящие регистры, а не мутные "области в памяти". Хотя бы те же защелки на входах портов ввода-вывода.
A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. In computer architecture, registers are typically addressed by mechanisms other than main memory, but may in some cases be assigned a memory address e.g. DEC PDP-10, ICT 1900.
----
Register - это абстракция, которая может, но не обязана быть привязана к защелкам, d-триггерам или ферритовым кольцам.
Что такое "настоящие" регистры? И, если память, построена на триггерах - она все еще мутная или уже настоящая?
"Registers usually consist of a small amount of fast storage"
Это писал не инженер, а некий деятель страдающий программизмом головного мозга. Орнул с "быстрой памяти" :D
sadman41 пишет:
Register - это абстракция, которая может, но не обязана быть привязана к защелкам, d-триггерам или ферритовым кольцам
В радиоэлектронике регистр это регистр. Какое-то устройство состоящее из ряда бистабильных устройств. Пусть даже на электромагнитных реле. Абстрактный он у абстрагировашихся от всего на свете погромистов под винду, которые порой электрическую вилку от розетки отличить не в состоянии...
Впрочем, я отвлекся. Я сюда пришел искать замену среде Arduino, а вместо того флейм развожу.
Так зачем вам программизм, херачьте на 155-й серии свои девайсы. Паяльник в руки и вперёд, без абстракций. Можете сразу на схем.нет уползти, тут нет фанатичных радиогубителей.
Регистры - набор триггеров, включенных параллельно или последовательно....
Мсье тоже не читатель а писатель?
В контексте данной темы регистры - понятие логическое, при этом они совсем не обязательно должны иметь под собой какое-то конкретное физическое устройство. Не говоря уже о транзисторах или триггерах.
Так зачем вам программизм, херачьте на 155-й серии свои девайсы
Я при желании могу и на МП39 и на РЭС-9, не то что на 551_серии.
Могу, но не хочу. Имею право, есличё.
andriano пишет:
В контексте данной темы регистры - понятие логическое
Данная конкретная тема была создана индивидуумом введенным в заблуждение распространенным мнением, будто можно программировать под МК не имея ни малейшего представления о радиоэлектронике. Что в корне неверно.
A computer is an automatic abacus. The type of number system affects the way it works. In the early 1950s, most computers were built for specific numerical processing tasks, and many machines used decimal numbers as their basic number system; that is, the mathematical functions of the machines worked in base-10 instead of base-2 as is common today. These were not merely binary-coded decimal (BCD). Most machines had tenvacuumtubes per digit in each processor register.
-------
Триггеров не было, а регистры были - удивительно, правда?
"Most machines had tenvacuumtubes per digit in each processor register"
Мало того, трубки не всегда были вакуумные, а иногда очень даже ртутные. Регенерируемые запоминающие устройства на ионных приборах. Непонятно только, что из этого проистекает? Многостабильные устройства? И что? Устройства же, а не "область памяти" :)
Magnetic core memory, or ferrite-core memory, is an early form of random access computer memory. It uses small magnetic ceramic rings, the "cores", through which wires are threaded to store information via the polarity of the magnetic field they contain. Such memory is often just called core memory, or, informally, core.
...
A typical machine's register set usually used only one small plane of this form of core memory.
----
Опять штуки на двух или трёх транзисторах нет, а регистры и память есть.
Но штука есть, пусть и на ферритовых кольцах. Она действительно существовала, я ее своими глазами видел на свалке предприятия. Не какая-то абстрактная фигня, а настоящая штука.
P.S. У вас при цитировании форматирование просочилось из источника на форум. Сообщение разнесло в ширину, так что горизонтальную полосу прокрутки пришлось задействовать.
Данная конкретная тема была создана индивидуумом введенным в заблуждение распространенным мнением, будто можно программировать под МК не имея ни малейшего представления о радиоэлектронике. Что в корне неверно.
Скажем так, значение знаний о триггерах и регистрах для современного программиста сильно упало со времен транзисторов МП серий :)
У человека, разбирающегося в С++, но не знающего что такое триггер и регистр (в их "железном" смысле) - шанс написать хорошую программу много выше, чем у человека, отлично секущего радиоэлектронику, но ничего не смыслящего в программировании :)))
Не забывайте, это сайт программистов. Людям, которым проще по -быстрому переразвести плату, чем поменять в программе номер пина(не смейтесь, совершенно типичный пример для обитателей, например Радиокота) - тут делать особо нечего
Все в мире имеет физическое представление. Даже Ваша фантазия о том, что регистр - это что-то связанное с электроникой, имеет физическое воплощение - сгусток определенной конфигурации из молекул.
Любую запоминающую штуку можно назвать устройством. Счеты - тоже устройство. Но без электроники вообще. Или пальцы загнутые. Да и слово "регистр" применялось задолго до того, как люди вообще придумали транзистор, лампу и передачу данных по проводам. Ваш пример - лишь частный случай реализации регистра. Подчеркну - именно реализации. Первично в данном случае содержание (логическое представление), а не форма/реализация (физическое представление). Вы же зачем-то отталкиваетесь от конкретной реализации и тень на плетень наводите.
Данная конкретная тема была создана индивидуумом введенным в заблуждение распространенным мнением, будто можно программировать под МК не имея ни малейшего представления о радиоэлектронике.
Не буду спорить, но хочу обратить внимание на другое обстоятельство: на этом форуме встречаются индивидуумы, считающие, что самое главное умение для работы с МК - это знание радиоэлектроники.
У человека, разбирающегося в С++, но не знающего что такое триггер и регистр (в их "железном" смысле) - шанс написать хорошую программу много выше, чем у человека, отлично секущего радиоэлектронику, но ничего не смыслящего в программировании :)))
Это ваше ИМХО. А я считаю, что у них у обоих нет шансов. В смысле хорошую написать. Знаю это по собственному опыту, поскольку ни в Си, ни в железе дзена не постиг. Отчего могу только быдлокодить и вешать сопли припоя на провода. Впрочем, не думаю, что у опытного электронщика в легкую оперирующего железной логикой возникнут какие-то сложности с освоением программирования. Тот, кто с карандашом, ластиком и картами Карно на миллиметровке разводил линии связей между ЛА3 и ТМ2 экономя каждое движение, в уме прикидывая что будет происходить в схеме по каждому импульсу тактового сигнала, он вряд ли позволит себе портянку из последовательности однотипных операторов вместо цикла.
sadman41 пишет:
Все в мире имеет физическое представление. Даже Ваша фантазия о том, что регистр - это что-то связанное с электроникой, имеет физическое воплощение
Это не моя фантазия, а ваша. Я о другом писал. О том, что РЕГИСТР В ЭЛЕКТРОНИКЕ имеет вполне определенное физическое воплощение. А не о сферическом регистре в вакууме.
andriano пишет:
Не буду спорить, но хочу обратить внимание на другое обстоятельство: на этом форуме встречаются индивидуумы, считающие, что самое главное умение для работы с МК - это знание радиоэлектроники.
Они неправы ровно настолько же, насколько неправы утверждающие что программирование единственное, что необходимо для работы с микроконтроллерами. Я сам шел по такому пути, как слепой в темноте, пока не понял, что голое программирование под МК без знаний хотя бы основ хотя бы цифровой электроники (про аналоговую уже молчу, куда мне, там боги рулят) путь в никуда. Пришлось заново начинать, почти с нуля, потому как все что я изучил до того в программировании МК (будучи уверенным, что электроника нафик не нужна), было пустым звуком. Потерял кучу времени. Только сейчас все стало складываться в более или менее понятную картину связей программного кода с железом.
того, кто это написал, я бы сразу, без разговоров, сажал на кол с особым цинизмом, на главной площади его сельского поселения.
Какая-то дикая мешанина из различных утверждений, часть из которых не верна в принципе, часть может быть верна, а может и нет - в конкретном случае, часть - не несет никакой полезной информации, а оставшаяся часть - тоже бесполезна, т.к. хоть и верна, но теряется на фоне всего остального.
И - еще: регистр - термин многозначный, причем различные фразы в цитируемом сообщении нередко относятся к различным значениям слова "регистр", а потому являются взаимоисключающими.
Регистр отопления – это составная часть системы отопления, прибор, состоящий из нескольких параллельно расположенных горизонтальных гладких труб.
С таким пониманием контекстов тяжело вам живется. Боюсь представить что вы представляете себе под фразой член общества. ))
Может быть и верно ,а может быть и нет. А может вертолет. Вас бы в Африку жить, так там бы океан появился.
Если есть, что критиковать так давайте уж по существу и с примерами. А так и можно про что угодно написать.
Я написал, что я понимаю под регистром, а вы что ?
Вот вам список на выбор
Значение
того, кто это написал, я бы сразу, без разговоров, сажал на кол с особым цинизмом, на главной площади его сельского поселения.
Без комментариев
это все замечательно, только это не ответ на вопрос ТС. В этом тексте написано про регистры контроллера, они к регистрам I2C не имеют никакого отношения.
хотели поумничать и сели в лужу. Еще раз говорю - изучайте основы.
Да хотел. А еще больше хотел разобраться в проблеме.
С таким пониманием контекстов тяжело вам живется. Боюсь представить что вы представляете себе под фразой член общества. ))
Возьмите алфавит для первого класса - в нем тоже про регистры написано. Просто контекста не понимаете.
Да хотел. А еще больше хотел разобраться в проблеме.
еще раз! тема - про регистры I2C. А вы сюда притащили регистры МК, которые к теме ни сном ни духом.
А уже после этого народ начал про все "регистры", которые только бывают, чтобы показать, какую фигню вы написали
На фоне вашей невежественности ваши попытки шутить выглядят смешно и нелепо, не надо строить из себя идиота.
Потому что я понимаю это так. Микроконтролер - это Master устройство, которое управляет Slave устройствами по средством шины I2C. А регистры являются промежуточным звеном в командах Master. Если это не так поправьте меня.
А регистры являются промежуточным звеном
На проводах висят ?
Как тогда понимать Регистр-защелка с управлением по i2c
У слова регистр очень много контекстов
Может и на проводах. А на чем они висят давайте выясним. Есть предложения?
Я так понимаю в детском саду сегодня выходной ?
Я смотрю вы боитесь написать лишнего по теме , чтобы не показаться дураком перед коллегами. Понимаю, когда плохо разбираешься в теме тяжело что то объяснить простыми словами.
Зато задавать глупые вопросы и умничать - тут вы первый)) Ну-ну. Так держать .
Я смотрю вы боитесь написать лишнего по теме
А мы смотрим, ты не боишься. Впрочем, такие, в основном, в интернетах и пишут, как только смогут отличить while от do..while. Зато потом читаешь их сентенции и аборжаца можно.
leksejka я на i2c "стаю собак съел" http://arduino.ru/forum/programmirovanie/programmnyi-i2c-1-mgts-dlya-16-mgts-ustroistv-dlya-avr?page=1
Микроконтролер - это Master устройство, которое управляет Slave устройствами по средством шины I2C. А регистры являются промежуточным звеном в командах Master. Если это не так поправьте меня.
не так. Регистры I2c - это принадлежность слейва, а не мастера. И об этом в теме выше тоже написано.
А мы смотрим, ты не боишься. Впрочем, такие, в основном, в интернетах и пишут, как только смогут отличить while от do..while. Зато потом читаешь их сентенции и аборжаца можно.
Нет не боюсь, с чего бы? Я не строю из себя знатока темы.
не так. Регистры I2c - это принадлежность слейва, а не мастера. И об этом в теме выше тоже написано.
Хорошо, спасибо!
Нет не боюсь, с чего бы? Я не строю из себя знатока темы.
зато строите идиота...
Детский сад и в правду. Что. неужели трудно прочитать обьяснения в первых 20 сообщениях темы? Или просто не доходит, остается только кривляться и паясничать?
зато строите идиота...
Детский сад и в правду. Что. неужели трудно прочитать обьяснения в первых 20 сообщениях темы? Или просто не доходит, остается только кривляться и паясничать?
Спрашиваю потому что в первых 20 ответах мне было не понятно.
А уж кривляния начал не я.
Спрашиваю потому что в первых 20 ответах мне было не понятно.
не думаете, что "вам не понятно" - это не потому что обьясняли плохо, а просто от недостатка знаний/соображалки?
У этой медали две стороны.))
Недостаточность соображалки часто можно компенсировать хорошим объяснением. Если непонимающий хочет понять.
Ваши ответы были самые понятные и в основном по существу.
Регистр в цифровой схемотехнике это составная ячейка памяти, например 8 rs-триггеров, представляющих один байт. В стандарте i2c никаких регистров нет. Некоторые i2c-устройства определяют протокол работы со своими регистрами. Как с ними работать, описано в документации на это конкретное устройство.
Слушал я Вас долго и внимательно и не понимаю как можно быть таким дубовым. Если уж хочется понять, то надо начинать с проекта. Взять бумажку, карандаш нарисовать, блок схему устройства со всеми подробностями отдельных элементов вплоть до регистров управления нужными функциями, связями и над связями подписать протоколы по которым эти связи осуществляются. И подумать, а может поменять кое где протоколы в пользу упрощения? Например I2C на последовательный TTL? Если хочется оставить I2C, почему бы не взять программный блок связи от меги и целиком вставить в питон, поменяв название процедур. Аналоги у малинки есть.
Потому что я понимаю это так. Микроконтролер - это Master устройство, которое управляет Slave устройствами по средством шины I2C. А регистры являются промежуточным звеном в командах Master. Если это не так поправьте меня.
Чувствуется, что Вы пытаетесь нащупать понимание, но пока это не очень получается.
Во-первых, МК - не обязательно мастер, он может быть и слейвом и в этом случае протокол взаимодействия между мастером и слейвом может быть произвольным. В частности, использующим абстракцию регистров.
В частном случае управляемое устройство (slave) может содержать в себе набор реальных физических регистров, при помощи которых осуществляется управление этим устройством. В более общем случае регистр - это абстракция, которая может иметь любую реализацию: ячейка памяти, порт ввода/вывода, область информации на внешнем носителе и т.п. Но на программном уровне общение между мастером и слейвом происходит по сценарию, как если бы у слейва был набор физических регистров.
В принципе, к шине I2C ни физические, ни даже логические регистры никакого отношения не имеют, но в управлении многими устройствами, подключаемыми по I2C, используется абстракция регистров. Просто разработчики решили, что так будет удобнее.
Поэтому никакого ни самих регистров I2C, ни стандарта на них не существует, а для изучения способа общения между мастером и слейвом нужно пользоваться дэйташитом. После освоения двух-трех-четырех устройств Вы поймете, что, несмотря на всю свободу творчества, разработчики, как правило, останавливаются на одних и тех же принципах организации взаимодействия, и во многих случаях это - модель абстрактных регистров.
Коллеги! Есть в питоновской библиотеке и в старой smbus и в smbus2 работа и с регистрами в группе функций работы с шиной и просто чтение-запись побайтно или группой байт. Старая темя полуторалетней давности что-то всех зацепила, аж страшно! У нас у всех дефицит общения развился вдруг?
Не суть что это копипаст, главное что понятно и по существу а не то что было написано выше. Не бэ н мэ. Вода и ощущение непонимания темы. А человек просил именно такой понятный ответ по существу
Регистры тобой описанные , это регистры процессора (их всего 32) и с ними напрямую работает ядро процессора.
Их конечно можно менять даже и через i2c (это придется реализовывать в коде), но смысла в этом нет никакого.
В версии вопроса ТС речь идёт про абсолютно другие регистры.
В том случае под регистрами подразумеваются адреса памяти определенные для чтения/записи посредством работы с i2c. Адреса этих адресов :-) , определяются разработчиком железа.
Триггер, это такая бистабильная штука на двух или более транзисторах. Имеет два стабильных состояния. Может запоминать одноразрядные числа. Цепочки из триггеров могут запоминать многоразрядные числа.
Такшта регистр, это в первую очередь некое электронное устройство, и лишь затем оно "память" (благодаря тому, что в нем есть триггеры на транзисторах). А всякие там "ячейки памяти", "области памяти" и все такое прочее, это все ни о чем. В смысле - ни о чем вам не скажет, а только запутает до полной потери ориентации.
Полистайте старую литературу по цифровой электронике для начинающих. Там много всякого полезного, не в пример современным изданиям, где авторы сами плохо понимают о чем пишут.
Alcest - очередной прогон совсем не по теме... Еще напишите. что регистры - это обязательно микросхемы в дип-корпусе - будет полный комплект ахинеи в этой ветке
Полистайте старую литературу по цифровой электронике для начинающих. Там много всякого полезного, не в пример современным изданиям, где авторы сами плохо понимают о чем пишут.
Старпер детектед :) (если что, старпер - это не возраст, это состояние)
скажите лучше, что старые книжки вы понимали, а новые нет :) - вот и вся история :))))
Полистайте старую литературу по цифровой электронике для начинающих. Там много всякого полезного, не в пример современным изданиям, где авторы сами плохо понимают о чем пишут.
Старпер детектед :) (если что, старпер - это не возраст, это состояние)
скажите лучше, что старые книжки вы понимали, а новые нет :) - вот и вся история :))))
опять тебя понесло PS катушку безвозмездно не дам, ежели что это MCP4725...
На самом деле у меня есть масса вопросов, на которые я не смог найти ответы. Возможно из-за того, что я старпер. Но вас я запомнил, и со своими непонятками непременно буду к вам обращаться. Вот и посмотрим, сможете вы человеческим языком в двух словах описать то, что не смогли разъяснить авторы непонятных новых книжек.
А "регистры" в микроконтроллерах таки настоящие регистры, а не мутные "области в памяти". Хотя бы те же защелки на входах портов ввода-вывода.
A processor register is a quickly accessible location available to a computer's processor. Registers usually consist of a small amount of fast storage, although some registers have specific hardware functions, and may be read-only or write-only. In computer architecture, registers are typically addressed by mechanisms other than main memory, but may in some cases be assigned a memory address e.g. DEC PDP-10, ICT 1900.
----
Register - это абстракция, которая может, но не обязана быть привязана к защелкам, d-триггерам или ферритовым кольцам.
Что такое "настоящие" регистры? И, если память, построена на триггерах - она все еще мутная или уже настоящая?
"Registers usually consist of a small amount of fast storage"
Это писал не инженер, а некий деятель страдающий программизмом головного мозга. Орнул с "быстрой памяти" :D
Впрочем, я отвлекся. Я сюда пришел искать замену среде Arduino, а вместо того флейм развожу.
Так зачем вам программизм, херачьте на 155-й серии свои девайсы. Паяльник в руки и вперёд, без абстракций. Можете сразу на схем.нет уползти, тут нет фанатичных радиогубителей.
Регистры - набор триггеров, включенных параллельно или последовательно....
В контексте данной темы регистры - понятие логическое, при этом они совсем не обязательно должны иметь под собой какое-то конкретное физическое устройство. Не говоря уже о транзисторах или триггерах.
Могу, но не хочу. Имею право, есличё.
A computer is an automatic abacus. The type of number system affects the way it works. In the early 1950s, most computers were built for specific numerical processing tasks, and many machines used decimal numbers as their basic number system; that is, the mathematical functions of the machines worked in base-10 instead of base-2 as is common today. These were not merely binary-coded decimal (BCD). Most machines had ten vacuum tubes per digit in each processor register.
-------
Триггеров не было, а регистры были - удивительно, правда?
"Most machines had ten vacuum tubes per digit in each processor register"
Мало того, трубки не всегда были вакуумные, а иногда очень даже ртутные. Регенерируемые запоминающие устройства на ионных приборах. Непонятно только, что из этого проистекает? Многостабильные устройства? И что? Устройства же, а не "область памяти" :)
Но штука есть, пусть и на ферритовых кольцах. Она действительно существовала, я ее своими глазами видел на свалке предприятия. Не какая-то абстрактная фигня, а настоящая штука.
P.S. У вас при цитировании форматирование просочилось из источника на форум. Сообщение разнесло в ширину, так что горизонтальную полосу прокрутки пришлось задействовать.
Скажем так, значение знаний о триггерах и регистрах для современного программиста сильно упало со времен транзисторов МП серий :)
У человека, разбирающегося в С++, но не знающего что такое триггер и регистр (в их "железном" смысле) - шанс написать хорошую программу много выше, чем у человека, отлично секущего радиоэлектронику, но ничего не смыслящего в программировании :)))
Не забывайте, это сайт программистов. Людям, которым проще по -быстрому переразвести плату, чем поменять в программе номер пина(не смейтесь, совершенно типичный пример для обитателей, например Радиокота) - тут делать особо нечего
Все в мире имеет физическое представление. Даже Ваша фантазия о том, что регистр - это что-то связанное с электроникой, имеет физическое воплощение - сгусток определенной конфигурации из молекул.
Любую запоминающую штуку можно назвать устройством. Счеты - тоже устройство. Но без электроники вообще. Или пальцы загнутые. Да и слово "регистр" применялось задолго до того, как люди вообще придумали транзистор, лампу и передачу данных по проводам. Ваш пример - лишь частный случай реализации регистра. Подчеркну - именно реализации. Первично в данном случае содержание (логическое представление), а не форма/реализация (физическое представление). Вы же зачем-то отталкиваетесь от конкретной реализации и тень на плетень наводите.
очередной Алегир, похоже. Если вообще не он под новой личиной
Данная конкретная тема была создана индивидуумом введенным в заблуждение распространенным мнением, будто можно программировать под МК не имея ни малейшего представления о радиоэлектронике.
Не буду спорить, но хочу обратить внимание на другое обстоятельство: на этом форуме встречаются индивидуумы, считающие, что самое главное умение для работы с МК - это знание радиоэлектроники.
Что в корне неверно.
Опять не буду спорить.
ТС не спрашивал "что такое регистр в электронике" - это Ваша личная фантазия.
Устройства же, а не "область памяти" :)
Возможно Вы будете удивлены, но "память" - это тоже устройство (вне зависимости от того, на каких физических принципах оно реализовано).