Перейти к содержанию

Коротенький "бип"


Trisector

Рекомендуемые сообщения

@солар

увы.

ладно, ассемблерные вставки пойду изучать позже.

а сейчас бы разобраться, как проверять отдельный бит регистра порта на соответствие единице

Ссылка на комментарий
Поделиться на другие сайты

Только что, Trisector сказал:

как проверять отдельный бит регистра порта на соответствие единице

Да ёпрст ... Яже пример дал! Там всё имеется! Второй или третий пост буквально!

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

1 минуту назад, artos5 сказал:

... ё... ... ...! ...! ...!

Нервы, батенька, нервы. ТС пишет

4 минуты назад, Trisector сказал:

разобраться

, а не тупо скопировать.

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

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

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

вот в этом выражении:

if((PINB&0x01)==0)

проверяется бит 0? только один бит?

7 минут назад, солар сказал:

, а не тупо скопировать.

Дада.

Изменено пользователем Trisector
Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

8 минут назад, Trisector сказал:

проверяется бит 0?

Да , а уже в следующей буквально строчке , проверяется единица )

13 минуты назад, солар сказал:

Нервы, батенька, нервы. ТС пишет

В смысле? Нервы в порядке , просто яже пример дал и в протеусе можно покрутить и разобраться что да как )

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Объясню, откуда берутся вопросы.

Распечатал книги Белова и Шпака, но примеры оттуда не работают, хотя они и используют АВР студио. Поэтому каждую команду приходится проверять и корректировать.

Вот такая конструкция:

while(PINB.0==1);

у меня в студии вызывает ошибку, хотя в книге у него все красиво.

 

Ссылка на комментарий
Поделиться на другие сайты

Только что, Trisector сказал:

Вот такая конструкция:

while(PINB.0==1);

Так это в cvavr такие фокусы ...

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

Cvavr возьми , как в книге использует автор , потом придет уже осознание для других сред .

Что может быть лучше в радиоэлектронике, чем программирование микроконтроллеров ?

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, artos5 сказал:

Cvavr

"Компилятор Си, входящий в состав CodeVisionAVR, имеет некоторые отличия от AVR-GCC (WinAVR), в том числе собственный синтаксис".

Ясно.

Ссылка на комментарий
Поделиться на другие сайты

if((PINB&0x01)==0)

PINB это байт, то бишь восемь бит. Этот байт по И перемножается с маской (тоже байтом) 0х01, т.е. с 0b00000001. В итоге все биты кроме нулевого сбрасываются в 0. А вот значение нулевого бита остается таким, какой в младшем бите PINB. И именно он сравнивается с нулем.

Я не раздаю удочки. Я продаю рыбу.

Ссылка на комментарий
Поделиться на другие сайты

Я для себя многое почерпнул от сюда: https://radioparty.ru/programming/avr/c/239-lesson7 - операторы управления битами. 

Тут для себя нужно хорошо запомнить, что DDR, PORT, PIN - это восьми битовые регистры .В них можно записывать и с них можно считывать данные.  Записывать можно в десятичном, двоичном, шестнадцатеричном виде. Это, например, так: DDRD = 12; - это в десятичном. Или так : DDRD = 0b00001100; (нули вначале можно не писать) - это в двоичном виде. Или так: DDRD = 0x0C; (нули вначале можно не писать) - это в шестнадцатеричном виде . Это всё одинаковая запись, которая означает, что нулевой, первый, 4-ый, 5-ый, 6-ой и 7-ой биты порта D будут работать на вход, а 2-ой и 3-ий биты порта D будут работать на выход. Регистр DDR определяет режим работы порта(направление передачи информации).  Как я уже писал, нули вначале можно не писать, НО лучше писать - поначалу будете меньше путаться, а также желательно не использовать без особой надобности десятичную систему (лучше шестнадцатеричную).

Ссылка на комментарий
Поделиться на другие сайты

С регистром PORT ситуация такая:

Первое - при записи единицы в какой-нибудь бит регистра DDR регистр PORT будет управлять уровнем сигнала на ножке МК (при записи единицы  в такой же бит регистра PORT - на соответствующей ножке порта будет логическая 1 и, соответственно, при записи нуля в тот же бит регистра PORT - на соответствующей ножке порта будет логический 0 ).  Например: DDRD = 0x08;  и PORTD = 0x08; будет означать, что на ножке PD3 будет логическая единица (условно 5 вольт).

Второе - при записи нуля в какой-нибудь бит регистра DDR регистр PORT будет управлять подтягивающим резистором внутри МК (сопротивлением около 10 - 100 кОм) на соответствующей ножке МК (при записи единицы  в такой же бит регистра PORT - на соответствующую ножку порта будет подтянут резистор к питанию и, соответственно, при записи нуля в тот же бит регистра PORT - на соответствующей ножке порта будет высоко импедансное состояние ).  Например: DDRD = 0xF7( что в двоичном виде означает  0b11110111);  и PORTD = 0x08; будет означать, что на ножке PD3 будет логическая единица (условно 5 вольт  через подтягивающий резистор), НО в этом случае ведётся запись информации в регистр PIN, т.е. в этом случае в регистр PIND в третий бит запишется единица.

А вообще пройдите по ссылке - там очень много полезной информации.

Изменено пользователем Aleksei80
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...