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

Вопросы от начинающих по МК


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

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

Без меня, вы меня можете даже бить

Поверьте, я ничего плохого против вас не имел и не имею, если я и упомянул вас то только как пример.

Вы кстати Протеус пробовали юзать?

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

  • Ответов 8,9т
  • Создана
  • Последний ответ

Топ авторов темы

Господина Мамедиева обидел, вероятно, я. 

Правда он вряд ли укажет где и в какой форме, но мне это в общем безразлично. 

Я просто фиксирую реальное положение вещей. 

На обиженных обычно возят воду... 

戦う前に相手のベルトの色に注目

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

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

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

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

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

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

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

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

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

Я ответил на поставленные автором вопросы. 

Могу добавить. 

Отсутствие очистки в графических дисплеях носит чисто топологический характер. Ее придется делать программно, но силами встроенного контроллера дисплея. Протянуть единый сброс через все экранное ОЗУ - бессмысленная и топологически громоздкая задача. ОЗУ дисплея может вообще быть динамическим, то есть в принципе не иметь входа сброса у ячеек. 

戦う前に相手のベルトの色に注目

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

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

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

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

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

void lcd_com(unsigned char com)
{
	PORTC &= ~(1 << RS); // RS = 0 (запись команд)
	PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
	PORTD &= 0xF0; PORTD |= (com >>4); // старший нибл
	_delay_us(100);
	PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
	_delay_us(100);
	PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
	PORTD &= 0xF0; PORTD |= (com & 0x0F); // младший нибл
	_delay_us(100);
	PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
	_delay_us(100);
}
// Функция передачи данных
void lcd_data(unsigned char data)
{
	PORTC |= (1 << RS);PORTC|=(1 << EN); // RS = 1 (запись данных), EN - 1 (начало записи команды в LCD)
	PORTD &= 0xF0; PORTD |= (data >> 4); // старший нибл
	_delay_us(100);
	PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
	_delay_us(100);
	PORTC |= (1 << EN); // EN = 1 (начало записи команды в LCD)
	PORTD &= 0xF0; PORTD |= (data & 0x0F); // младший нибл
	_delay_us(100);
	PORTC &= ~(1 << EN); // EN = 0 (конец записи команды в LCD)
	_delay_us(100);
}

хочу передавать на экран 1601 но использовать младшие четыре порта д. в протеусе видно что команда проходят но ничего нет на экране.  

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

и не должно быть на экране.

нибл нужно выставлять в порт ДО установки сигнала EN.

задержки перед снятием сигнала EN не надо делать.

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

Мудрость приходит вместе с импотенцией...

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

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

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

нибл нужно выставлять в порт ДО установки сигнала EN.

задержки перед снятием сигнала EN не надо делать.

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

Все 3 ответа - неправильные.
Типовая диаграмма для 1602 :

2019-06-04_19-34-28.png.7d93846df0bd9649bb635eb84030b56f.png

PS: А проблему я уже назвал. Нетрудно после подсказки её найти.
Я бы даже сказал, что это не подсказка, а прямо сказано что и где не так :)

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

ну, с первым ответом, строго говоря, я был не прав.

но это не принципиально. данные без проблем можно выставить раньше, чем сигнал Е. главное, сигнал Е нужно снять раньше, чем будут изменены данные.

по второму и третьему ответам.

при выполнении строки

PORTC &= ~(1 << EN)

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

или ты готов согласиться, что задержка 100 мкс там необходима?

Мудрость приходит вместе с импотенцией...

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

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

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

не помогло

Обидно <_<

19 минут назад, Starichok сказал:

или ты готов согласиться, что задержка 100 мкс там необходима?

100 мкс там - как вечность для нас. Тут тяжело не согласится :)

PS: @Дмитрий Мамедиев , у Вас в руках достаточно хороший инструмент для отладки. В чём проблема ? Или мы всем тут форумом будем гадать на кофейной гуще ? В то время, как Вы сможете проблему отловить за несколько минут, пошагав по программе.
Вы может там с настройкой порта чего накосячили, нам же не видно...

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

17 часов назад, Alex сказал:

Вы может там с настройкой порта чего накосячили, нам же не видно...

Кстати была у меня одна проблема, вот только в железе не работало а в протеусе усе нормуль. Долго я ломал голову. Оказалось в "моем" протеусе пофиг ваще как настроен порт на вход или на выход. Т.е. у меня не было настройки порта на выход, но протеусу это как то совсем не мешало. Ведать подтяжки резюка ему хватало.

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

Был на работе на смене. Читал "программирование для чайников". Начинается с матиматики и потом пошло поехало... классы, конструкторы, деструкторы... и тд и тп. Не понял как это мне поможет. Читаю следующую. Понятней написанно но... у нас как бы другая специфика чтоли. Тут лучше был бы пример как пользоваться побитовыми сдвигами, на подобии того как мне подсказал уважаемый ИМХО. Или как создать меню, или другие уловки.

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

Какое меню?! Какие уловки?! Какие чайники?! Вы ещё надписи на заборах почитайте! 

По Си надо читать Кернигана и Ричи, никаких классов, деструкторов, плюсов и шарпов для кофейников!

А сдвиги и битовые операции надо просто на бумажке в клеточку разрисовать самому пару раз, и все. Не надеяться, что кто-то или где-то вам объясняет все ваши непонятки.

И двигаться постепенно, а не так, что сегодня я впервые помигал светодиодов, а завтра сделаю меню на ЖКИ. Меню - это почти 100% применение указателей, а какие могут быть указатели, если и с массивами вы не разобрались?!

Не хватайте штангу в 150 кг, если первый раз в качалку зашли - только надорветесь. Начинайте с малого веса, а потом наращивайте подходы, и лишь затем вес. То есть после мигания одним светиком освойте бегущие огни, потом плавное изменение яркости, потом чарлиплексинг и/или динамическую индикацию и т.д.

Изменено пользователем ARV

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

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

9 часов назад, ARV сказал:

Меню - это почти 100% применение указателей

я свое первое меню сделал на функциях:D без указателей, я тогда плохо понимал что это удобный инструмент.

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

Читал "программирование для чайников"

Есть куча видосов на ютубе, где очень даже хорошо на примерах рассказывают основы языка си. Например Александр Писанец.

Здесь посмотрите еще.

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

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

я свое первое меню сделал на функциях:D без указателей

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

Обычно так и получается с меню: сначала многоуровневые switch-и, потом массивы, потом массивы структур, потом (внезапно!) оказывается, что разница между массивом и указателем ничтожная, и наступает период указателей.

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

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

11 минуту назад, Demonrostov сказал:

Например Александр Писанец.

смотрел и подписан.

 

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

то поседели бы

с 18 лет начал сидеть. уже почти белый

10 часов назад, ARV сказал:

Кернигана и Ричи

скачал сегодня буду вечерогм читать

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

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

с 18 лет начал сидеть

Поздновато начали :) Обычно дети сидеть начинают к 5-6 месяцам :) 

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

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

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

Как понять

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

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

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

Изменено пользователем ARV

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

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

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

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

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

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

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

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

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

Результат любого ЛОГИЧЕСКОГО оператора может быть ТОЛЬКО 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 ни при каких условиях - или книжка говно, или вы что-то не поняли и/или не так процитировали.

Изменено пользователем ARV

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

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

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

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

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

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

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

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

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

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

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

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

×
×
  • Создать...