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

LiVit

Members
  • Постов

    170
  • Зарегистрирован

  • Посещение

Весь контент LiVit

  1. т.е., вы не знаете, зачем применяется static? Зачем вы его вообще используете, если не знаете смысла? Тупо копипастите? Рекомендую определять новый тип: typedef union{ uint16_t nast_byte[DATA_SIZE]; struct { int16_t data1; int16_t data2; }struc; }MyDataType; Тогда в программе можете объявить любое количество переменных типа MyDataType и обращаться к этим переменным как к union. Более того, вы сможете присваивать их значения друг другу: MyDataType a = {0}, b = {0}; a.struc.data1 = 1; a.nast_byte[1] = 2; b = a;
  2. Всё смешалось - люди, кони... При чем здесь куб и кейл? На кайле пишут не только для ST-мок. И ужас-ужас, для каких нибудь китайских армов нет куба. И ведь пишут без проблем. Ребятки, уровень вхождения в программирование армов очень высокий. Это не ранние пики и аврки. Там пару строчек из мануала прочёл и программу-моргалку написал и запустил на раз-два. Если вам для какой-нибудь ерунды - юзайте ардуину. Если собрались профессионально работать - осваивайте профессиональные инструменты. Кайло запустить не сложно, было бы желание.
  3. Наоборот - только на цанговые и надежда. Обломать весь пластик и впаять только пины. Если постараться - будет красиво
  4. Правильно. Так и надо делать. Потом эту штуку из проекта в проект таскать и все. Просто по месту допиливая За основу можно те структуры взять, что я привел. Написать универсальную процедуру обработки и передавать ей указатель на "экземпляр" структуры Ну и что? Основная обработка должна быть одинаковой. А драйвер для клавиатуры можно допилить для конкретного устройства, как и драйвер дисплея. У меня примерно одинаковая логика обработки как для графического монохромного дисплея, так и для символьных дисплеев. Конечно, есть отличия. На символьном дисплее с графикой очень туго))). Инверсию не сделаешь и ограничен набор символов.
  5. @Ион Добрев Нет, уважаемый, за вас я не буду программу писать. Процедуру обработки клавиш и процедуру вывода на дисплей сами пишите.
  6. Есть русская пословица - терпение и труд всё перетрут. Будете стараться - всё получится. [MNU_VAR_8].MaxVal = 500, Означает, что полю MaxVal структуры номер MNU_VAR_8 данного массива присваиваем значение 500. Вы уже знаете что такое энумератор enum? Каждая запись превращается компилятором в число. Начинается всё с нуля. Таким образом MNU_VAR_1 компилятором превращается в 0, MNU_VAR_2 в 1 и так далее. enum используется только для удобства человека. Рекомендуется присваивать какие-то осмысленные имена. typedef enum{ Это объявление типа данных enum. Можно без typedef. Но мне так привычнее - это чисто мои заморочки. Ион, вам надо хорошенько изучить книгу «Язык программирования Си» — Брайана Кернигана и Денниса Ритчи. Там всё разжёвано.
  7. Наоборот. Без него была бы настоящая пушка! Бахнуло бы от души. Но тут осторожность нужна. Отстреливающийся корпус конденсатора может причинить серьезный ущерб. А почему вы без лампочки решили включить? Не нашли? Вместо нее можно использовать утюг, плойку наконец.
  8. Если у @Ион Добрев есть программистское мышление, желание и деньги, я могу помочь с пониманием и структур и указателей. Но это - в раздел "работа". А разным умникам - помогите ему бесплатно, если хотите. Почему-то никто из вас не привел свой код для меню. Почему, интересно? Решил потратить своё время и привести пример организации структуры меню в моих проектах, может кому пригодится: Если есть способ более эффективный - с удовольствием об этом почитаю. Это вы про кого? И что дает вам уверенность это утверждать?
  9. Причём здесь пафос? У меня проект как раз со структурами и указателями, которые ему недоступны. Мне что, вместо него программу писать? ТС видимо начинающий. Ему в соответствующий раздел нужно. Либо в раздел "работа".
  10. Мне не жалко, но вы всё равно не поймёте. Раз у вас возникают такие вопросы, вашей квалификации будет явно недостаточно.
  11. Преимущество по сравнению с чем? Вообще, разговор беспредметный. Аморфный. Какая структура меню? Сколько настроек? У меня например, 20 настроек. Для каждой уставки есть минимальное значение, максимальное, шаг приращения, дефолтное значение, адрес в памяти куда надо сохранять. Есть имя настройки (текстовая подсказка, чего именно настраиваем), префикс и суффикс (кг, МГц, сек...). Причем на нескольких языках. Вы без структур и указателей как себе такое меню представляете? Switch-case? Это трэш, угар и содомия.
  12. Почитал ваше сообщение. Всё как-то аморфно. В чем проблема-то? Не умеете работать с указателями, со структурами, или с указателями на структуры? Сколько пунктов меню, какой дисплей? Как тут говорят - "экстрасенсы в отпуске", что у вас в голове - никто не знает.
  13. "- Вы стоите на самой низшей ступени развития, — перекричал Филипп Филиппович, — вы еще только формирующееся, слабое в умственном отношении существо, все ваши поступки чисто звериные, и вы в присутствии двух людей с университетским образованием позволяете себе с развязностью совершенно невыносимой подавать какие-то советы космического масштаба и космической же глупости..." (c) М.Булгаков, "Собачье сердце" Извините, вырвалось....
  14. Стоп-стоп-стоп, уважаемый! Вы путаете мягкое с тёплым. Полоска на торце указывает минус. А у вас на фотке полоска снизу. Если видим "Т" снизу, то надо смотреть даташит, но скорее всего "пипка" показывает на минус. На фотке ТС-а вы не можете видеть низ, только торец. Да и странно это - ориентироваться по знакам снизу светодиода, которые после монтажа просто так не увидишь. На моей фотке - два одинаковых светодиода, катод у обоих слева. Был у нас случай, монтажник напаял светодиодов, ориентируясь по знакам снизу... Перепаивал.
  15. Первый раз про такое слышу. Обычно - как раз катод (-).
  16. Как-раз ничего странного. Возьмите за правило объявлять буфер как-то так: uint16_t buf[100] = {0}; и он автоматом заполнится нулями.
  17. В розетке тока нет. Там напряжение. Ток в нагрузке. Не надо быть семи пядей во лбу, чтобы это знать. Школьный курс. I=U/R Нет R - нет I Да чо там мерить-то? Выставляем на мультиметре измерение тока (переменного конечно, мы ведь не дураки какие-нибудь!) и суём в розетку.
  18. Если некоторые процедуры и функции (в том числе обработчики прерывания) используют стек. Например, у вас адское количество локальных переменных в теле функции. Или буфер локальный. Если стек маленький, то места не хватит
  19. Пфффф. Вот глупый вопрос: "сколько тока в электрической розетке? " Давайте я вам переведу дискуссию на более бытовой язык: Вы: "Мне надо две детальки разъединить, чем мне их раскрутить? " У вас спрашивают: "А головка у винта какая? Под прямой шлиц, под крест, под шестигранник, торкс, звездочку, или что-то другое? А резьба у вас левая или правая? " А вы : "да я не разбираюсь! Что вы за люди такие, на простой вопрос ответить не можете! " А потом выяснится, что детальки склеенные или на заклепке....
  20. Это говорит о непродуманности схемы и непрофессиональном подходе. А для отладки можно применять какую-нибудь универсальную отладочную плату. Продумать её, заказать со сборкой в Китае и забыть как страшный сон хлорное железо, ванночки, ЛУТ...
  21. В 2006 году делал двустороннюю плату размером чуть меньше А4. Это было обусловлено тем, что она была нужна одна и стоимость изготовления в Резоните была слишком высокой. Сейчас 2022. Заказать в Китае и со сборкой (!) стоит копейки. Какой смысл в этих нечеловеческих мучениях? Да ещё и плата выглядит уродливо - без маски и шелкографии.
  22. Судя по тому, что камрады тут выкладывают, там такой лютый говнокод, что мне жалко глаза - вытекут.
  23. 100 110 100 110 0 01100111 - красный 100 110 100 110 0 10011001 - зеленый Обратите внимание на тройки чисел. То что выделено жирным - выглядит логично. Последовательность 100 кодирует логический 0, а последовательность 110 - логическую единицу Потом последовательность разваливается (я ориентировался на ваши нули и единицы, не анализировал осциллограмму) Посмотрите, может быть ваша запись неверна. Потому что первые четыре бита однозначно расшифровываются как 0101 (или 1010 если в инверсии) И посмотрите уже, как подобное реализовано в пультах управления - там явно что-то похожее UPD. Не, всё-равно какая-то фигня получается.... Единственное, что логично в ваших осциллограммах, так это то, что обе посылки примерно одинаковые по длительности Слушайте, а какую последовательность машинка назад передает, чтобы в нее не врезались? UPD. 2 То что выделено жирным - это стартовая последовательность. Подчеркнутый нолик - разделитель Дальше идут 8 бит. Красный - 67h зеленый - 99h Только если так рассудить.
  24. Не рекламы ради, а информации для. Китайцы предлагают вот это. Как по мне, у @mefi73 более удачная конструкция ДРВ. Если бы ещё и вынимать винт можно было-бы одним движением, а не выкручиванием...
  25. А с чего вы решили, что это 6 бит? Это вообще не очевидно, как по мне. Я вижу 6 импульсов разной ширины. Вполне возможно, что некоторые импульсы содержат две единицы, а равно как и промежутки между импульсами могут содержать два нуля. Поставьте другую развертку на осциллографе, чтобы было пошире. А лучше - возьмите анализатор сигналов.
×
×
  • Создать...