ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
Мелкие вопросы по МК и ПЛИС.
дааас. пичалька с памятью. о какие кольца здесь мелкие. я помню разбирал блок памяти. так там кольца были миллиметра 2 в диаметре каждое. они еще на нескольких пластинах были и залиты резиной красной какой-то.
Индукционный нагреватель - 20% (наладка). TIG сварка - 10% (детальки)
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
ВЧ генератор 150МГц - 80% (наладка). Мостовой ИИП - 40% (подкл. ОС).
- Реклама
Бабушка согрешила с соседом, а правнук носит фамилию...
На самом деле никакого отношения к ферритам эта память не имеет. Просто по аналогии с доменами ферромагнетиков, сегнетокерамика отнесена к диэлектрическим доменным материалам - ферроэлектрикам. В данном случае ферро - это мимикрия под доменную структуру.
На самом деле никакого отношения к ферритам эта память не имеет. Просто по аналогии с доменами ферромагнетиков, сегнетокерамика отнесена к диэлектрическим доменным материалам - ферроэлектрикам. В данном случае ферро - это мимикрия под доменную структуру.
как в данном контексте понимать слово аппаратно ?

- Вложения
-
- 999999999999999999.jpg
- (75.31 КБ) 532 скачивания
Tell Me The Truth
Значит, что бит обнулится самостоятельно, при входе в обработчик, даже если это не написано в программе.
не нужно сбрасывать флаг руками в обработчике прерывания.
- Реклама
а сколько нужно этих операций чтобы наступило переполнение ?
- Вложения
-
- 77777777777777777777777777.jpg
- (131.77 КБ) 550 скачиваний
Tell Me The Truth
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
Доброй ночи.
Как первести обычный бинарный код в двоично-десятичный? Причем 0000 0000 это 0000 0000, а, например, 0000 1111 - это уже получится 0011 0001 0011 0101 (для lcd).
на ассемблере пишу.
Как первести обычный бинарный код в двоично-десятичный? Причем 0000 0000 это 0000 0000, а, например, 0000 1111 - это уже получится 0011 0001 0011 0101 (для lcd).
на ассемблере пишу.
Не умеешь - не берись, но не взявшись не научишься...
Зависит не от операций, а от операндов. Например если сумма операндов>255 или при сдвиге вправо младший бит был единицей.FreshMan писал(а):а сколько нужно этих операций чтобы наступило переполнение ?
допустим:если мы сложили два числа и их сумма больше 255 то флаг сразу становится в 1...................., а до каких пор эта единица будет держатся ? или она сразу появится и исчезнет ?
Tell Me The Truth
Можно почитать в Фрунзе "Микроконтроллеры? Это очень просто" том 3. Там дано несколько алгоритмов. В общем случае, последовательным делением на десять. Но есть более хитрые алгоритмы. Для AVR есть документ "AVR204: BCD Arithmetics", то же описано (на русском языке) в книге Ревич "Практическое программирование микроконтроллеров AVR на языке ассемблера", стр. 153 "Операции с числами в формате BCD".Arlleex писал(а):Как первести обычный бинарный код в двоично-десятичный?
Есть у меня одни часы, самые обычные, но функциями напичканы - хоть убей. Памяти на МК (АВР) совсем свободной нет.
И захотелось мне добавить мигающее двоеточие и индикатор ам/рм (часы изначально 12-разрядные). Но ни памяти ни ножек нету свободных.
Вопрос: реально ли как-то повесить это на отдельный контроллер и синхронизировать с основным (по i2c)? типа в такое то время ам, в такое то рм, а еще можно от RTC (висящих на той же и2с).
И захотелось мне добавить мигающее двоеточие и индикатор ам/рм (часы изначально 12-разрядные). Но ни памяти ни ножек нету свободных.
Вопрос: реально ли как-то повесить это на отдельный контроллер и синхронизировать с основным (по i2c)? типа в такое то время ам, в такое то рм, а еще можно от RTC (висящих на той же и2с).
- Сообщения: 4435
- Зарегистрирован: Сб мар 07, 2009 20:44:36
SmarTrunk писал(а):Можно почитать в Фрунзе "Микроконтроллеры? Это очень просто" том 3. Там дано несколько алгоритмов. В общем случае, последовательным делением на десять. Но есть более хитрые алгоритмы. Для AVR есть документ "AVR204: BCD Arithmetics", то же описано (на русском языке) в книге Ревич "Практическое программирование микроконтроллеров AVR на языке ассемблера", стр. 153 "Операции с числами в формате BCD".Arlleex писал(а):Как первести обычный бинарный код в двоично-десятичный?
Не умеешь - не берись, но не взявшись не научишься...
Для начала попробовать оптимизировать программу, наверняка есть заделы. Тут дело не в напичканности функциями, а в оптимальном написании кода. Если именно по вопросу, то можно и примочку сделать. Но зачем этот костыль?loshvitalik писал(а):реально ли как-то повесить
Docendo discimus
значит если и приследующей операции сложения результат будет больше 255 то флаг так и останется висет в положении 1, ва если нет то он сбросится аппаратно в ноль ? я правильно разумею ?ploop писал(а):До следующей команды, изменяющей этот флаг.
Tell Me The Truth
Проще контроллер поменять на что-то более жирное. Либо оптимизировать. Если была применена мега8/48/88 можно их заменить на 168 например. Они совместимы по ногам.loshvitalik писал(а):Есть у меня одни часы, самые обычные, но функциями напичканы - хоть убей. Памяти на МК (АВР) совсем свободной нет.
И захотелось мне добавить мигающее двоеточие и индикатор ам/рм (часы изначально 12-разрядные). Но ни памяти ни ножек нету свободных.
Вопрос: реально ли как-то повесить это на отдельный контроллер и синхронизировать с основным (по i2c)? типа в такое то время ам, в такое то рм, а еще можно от RTC (висящих на той же и2с).
Свежий! Да погоняй ты уже в студии, да посмотри. А если что непонятно — спрашивай.FreshMan писал(а):значит если и приследующей операции сложения результат будет больше 255 то флаг так и останется висет в положении 1, ва если нет то он сбросится аппаратно в ноль ? я правильно разумею ?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Всем привет! Интересует, правильно ли я понял основной принцип работы DMA?
Скажем есть устройство, которому надо считать данные из ОЗУ в буфер.
Устройство "говорит" контроллеру дма, мол надо считать данные.
дма контроллер посылает соответствующее сообщение процессору. Тот завершает текущий цикл обмена по шинам и "отвечает", мол можно начать и отрубается от шины D,A и шины управления (выводы в высокоинпедансное состояние), предварительно настроив дма (указали направление передачи, по словам или по байтам, объем передаваемой инфы)
Далее дма контроллер берет управление на себя.
выставляет адрес (со стороны памяти) откуда будет чтение памяти на шину адреса, выставляет на шину управления сигнал "читать память" и "говорит" устройству, мол читать можно, выставив на ШД со стороны устройства данные, считанные с памяти. Устройство читает. Потом отвечает контроллеру (тут правильно? если да, то каким образом оно указывает на то, что чтение завершено) мол давай следующею ячейку. дма берет след. адрес и счетчик байт уменьшает на 1 . Процесс повторяется до тех пор, пока СБ не станет равный 0 .
Затем устройство выставляет прерывание процессору, и тот судит о том, что копирование данных прошло и берет шины в "свои руки", отрубая дма.
Проверьте ход мысли, правильно ли я понял. Если где то ошибка, то поправьте, пжалста )) А то в книге как то запутанно написано.
Спасибо!
Скажем есть устройство, которому надо считать данные из ОЗУ в буфер.
Устройство "говорит" контроллеру дма, мол надо считать данные.
дма контроллер посылает соответствующее сообщение процессору. Тот завершает текущий цикл обмена по шинам и "отвечает", мол можно начать и отрубается от шины D,A и шины управления (выводы в высокоинпедансное состояние), предварительно настроив дма (указали направление передачи, по словам или по байтам, объем передаваемой инфы)
Далее дма контроллер берет управление на себя.
выставляет адрес (со стороны памяти) откуда будет чтение памяти на шину адреса, выставляет на шину управления сигнал "читать память" и "говорит" устройству, мол читать можно, выставив на ШД со стороны устройства данные, считанные с памяти. Устройство читает. Потом отвечает контроллеру (тут правильно? если да, то каким образом оно указывает на то, что чтение завершено) мол давай следующею ячейку. дма берет след. адрес и счетчик байт уменьшает на 1 . Процесс повторяется до тех пор, пока СБ не станет равный 0 .
Затем устройство выставляет прерывание процессору, и тот судит о том, что копирование данных прошло и берет шины в "свои руки", отрубая дма.
Проверьте ход мысли, правильно ли я понял. Если где то ошибка, то поправьте, пжалста )) А то в книге как то запутанно написано.
Спасибо!
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Он изменится в любом случае. А уж с единицы на ноль, или с единицы на единицу - дело другое.значит если и приследующей операции сложения результат будет больше 255 то флаг так и останется висет в положении 1


