Jump to content

Recommended Posts

Только что, Дмитрий Мамедиев сказал:

Как понять

Вы прочли раздел про операторы? Знаете, что обозначает оператор == ? Что обозначает оператор || ? Что такое символ (символьная константа) знаете? Если не знаете - прочтите. 

Просто замените все операторы и остальные "элементы" в строке их названиями, а потом произнесите вслух получившееся предложение - на начальной стадии освоения это на 100% даст ответ на вопрос "как понять".

Если не получится - напишите здесь, что получилось, попробуем пояснить, что не так делали. Если получится, поделитесь успехом - возликуем вместе с вами :) 

Edited by ARV

Share this post


Link to post
Share on other sites

Операторы && и &, а так же || и | в Си принципиально разные, путать их ни в коем случае нельзя.

&& - логическое И

& - битовое (двоичное) И

|| - логическое ИЛИ

| - битовое (двоичное) ИЛИ

Результат любого ЛОГИЧЕСКОГО оператора может быть ТОЛЬКО 0 (не истина, ложь) или 1 (истина). Какие бы числа/переменные вы ни обрабатывали этими операторами, в итоге будет или 0, или 1.

Результат БИТОВЫХ операций может быть ЛЮБЫМ ЧИСЛОМ, т.к. происходит операция над каждым БИТОМ каждого из пары чисел/значений.

Примеры:

1 && 2 результат 1 (любое число, не равное 0, для ЛОГИЧЕСКОГО оператра эквивалентно 1)

1 & 2 результат 0 (биты в числах не совпадаеют, а значит при побитовом И в каждом бите получится 0, что в итоге даст и общий 0).

Только что, Дмитрий Мамедиев сказал:

В книжке был такой пример: x=1 y=2 тогда x&y получим 0, x|y 3, x||y почемуто 2,

x || y не может быть 2 ни при каких условиях - или книжка говно, или вы что-то не поняли и/или не так процитировали.

Edited by ARV

Share this post


Link to post
Share on other sites

Руководство для разработчика приложений на базе STM32WB55

Представив двухъядерные беспроводные микроконтроллеры STM32WB для IoT-приложений, компания STMicroelectronics предлагает разработчикам экосистему, включающую в себя отладочные платы, примеры кода для микроконтроллера, готовое ПО всех уровней и большой массив документации.

Читать статью

                     

DC/DC-преобразователи: принципы работы и уникальные решения Maxim Integrated

Что нового можно сказать про DC/DC? Написаны десятки статей, а самостоятельное изготовление преобразователя мощностью от единиц Вт до нескольких кВт даже в домашних условиях не составляет большого труда. Тем не менее, когда речь идет о микро-, или даже нано-ваттах, проектировщик может столкнуться с рядом трудностей. Разработка устройства с батарейным питанием весьма малой мощности – одна из наиболее актуальных и интересных задач во время всепроникающего интернета вещей. А грамотная схемотехника системы питания не возможна без знания основ работы DC/DC преобразователей. Освежить базовые знания и узнать об особенностях проектирования узлов питания мобильного устройства с оптимальным энергопотреблением можно из следующей статьи

Подробнее

Только что, Дмитрий Мамедиев сказал:

Почему нельзя например так int (0>=x >5);

То, что вы написали, вообще не имеет смысла: x меньше или равно нулю, и при этом x больше пяти - такого не может быть в принципе.

А вообще на счет цепочечных сравнений скажу так: вы должны учитывать, что операторы одинакового приоритета исполняются слева направо. Т.е. сначала сравнится 0 >= x, а потом то, что получится, сравнится с пятеркой. Поскольку результатом логического оператора всегда будет только 0 или 1, то второе сравнение всегда даст ложный результат, т.к. и 0 и 1 меньше пяти.

Используйте традиционную проверку на вхождение в диапазон: if((x >= 0) && (x < 5)).

Share this post


Link to post
Share on other sites

Еще вопрос. Подключаю лсд 1602. По стандартной схеме, когда используются пины 4567, все ок. Но мне нужно подключить 0123 пины мк, так вот на лсд тоже нужно использовать 0123?

Share this post


Link to post
Share on other sites
1 час назад, Дмитрий Мамедиев сказал:

Мне нужна переменная в определенных пределах. Почему нельзя например так int (0>=x >5);

ну я тебе и написал,  только придел ты задал [1:4] ,я конкретно под него и написал

 

6 минут назад, Дмитрий Мамедиев сказал:

Еще вопрос.

а теперь то же самое только по русски

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
8 минут назад, Дмитрий Мамедиев сказал:

...Если я подключаю мк через 0123 то на лсд тоже нужно использовать пины 0123?

А какая связь между нумерациями портов LCD и МК?

Share this post


Link to post
Share on other sites
Только что, Дмитрий Мамедиев сказал:

Если я подключаю мк через 0123 то на лсд тоже нужно использовать пины 0123?

Вопрос странный. Вы же подключаете к микросхеме сигналы на её ножки в соответствии с их назначением, а не так, как вам удобно. С чего вдруг на ЖКИ (ЛСД - этот наркотик, а ЖКИ - это по-русски LCD - жидкокристаллический дисплей) вы будете подключать сигналы не в соответствии с назначением контактов ЖКИ, а как вам удобнее?

В микроконтроллере переназначить пины можно программно - это всегда можно, а произвольно назначать выводы ЖКИ - это перегиб.

Share this post


Link to post
Share on other sites
Только что, Дмитрий Мамедиев сказал:

Можно подключить на мк к пинам 0123 а на лсд 4567?

Конечно можно. Я ж вам намекал: если у микросхемы нужный пин имеет номер 7, это ведь не означает, что только с 7-го пина МК можно подавать сигнал на него. Из МК вы можете сформировать нужные сигналы практически на произвольных его ножках.

Share this post


Link to post
Share on other sites
42 минуты назад, Дмитрий Мамедиев сказал:

Я не понял

любое число при логическом умножении на 3 (0b00000011) даст числа [0:3]

на 7 (0b00000111) даст числа [0:7] , на 15 (0b00000011) даст числа [0:15]

у тебя диапазон  [1:4] на единицу больше диапазона [0:3]

z--;  // вычли единицу, получили диапазон [0:3]
z&=3; // обрезали
z++; // прибавили единицу , вернули диапазона [1:4]

50 минут назад, Дмитрий Мамедиев сказал:

В сети примеры

выводы МК могут быть любыми , выводы ЖКИ при 4битном подключении только <4:7>

Share this post


Link to post
Share on other sites
void lcd_com(unsigned char com)
{
	PORTC &= ~(1 << RS); // RS = 0 (запись команд)
	PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
	PORTD &= 0xF0; //обнуляем 0:4 пины порта Д
	PORTD |= (com >> 4); // старший нибл
	_delay_us(100);
	PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
	_delay_us(100);
	PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
	PORTD &= 0xF0; //обнуляем 0:4 пины порта Д
	PORTD |= (com & 0x0F); // младший нибл
	_delay_us(100);
	PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
	_delay_us(100);
}

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

Share this post


Link to post
Share on other sites
Только что, Дмитрий Мамедиев сказал:

не получается все равно

Схему в студию.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Sl653
      Доброй ночи. Продам Segnetics SMH4 новый в упаковке. 14 т.р. и УПП Siemens Sirius 3RW4036 29т.р. тоже новый. Если кого заинтересовало то пишите на почту sl.s@inbox.ru
       
       


    • By Jesterary
      Здравствуйте. Подскажите, был ли у кого-то опыт отправки изображений с камеры (подключенной через UART или bluetooth-камеры) через GPRS (у меня модуль SIM800L, но в целом это не принципиально) на удаленный сервер? Средствами управляющего микроконтроллера, пусть даже ардуины какой-нибудь, но не малины. Возможно ли это вообще? Хотелось бы, конечно, использовать в проекте беспроводную камеру и общаться с ней, ибо камеры, подключаемые напрямую так себе качество дают. 
      Сразу скажу, что важна именно такая связь. Микроконтроллер + модуль связи + камера находятся в коробке и путешествуют по городу, в это время человек сидя дома на диване может смотреть фото с этой камеры. Смартфон для моих целей не подойдет, суть именно в микроконтроллере с модулями.
      Если у кого-то такое получалось - поделитесь, пожалуйста :)
      А то нахожусь в некоторой прострации и даже не знаю, в какую сторону думать.
    • By Максим123456789
      делаю диплом, в схеме у меня микроконтроллер PIC16F688 и мне нужно его заменить на ATmega. Не могу найти похожий
    • By Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • By Sofia Vin
      Предлагаем проектную работу в Москве:
      Микроконтроллер STM32F103.
        
      Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром.
        
      Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. 
      Работа в лаборатории (м.Университет) и удаленно. 
      Оплата по договоренности.
      Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным:
      8 (925) 023-60-02   Алексей
      E-mail: nassa@marathon.ru
       
×
×
  • Create New...