Jump to content

AVI-crak Home

Members
  • Content Count

    70
  • Joined

  • Last visited

Community Reputation

17 Обычный

About AVI-crak Home

  • Rank
    Осваивающийся

Информация

  • Город
    омск

Электроника

  • Стаж в электронике
    10-20 лет
  • Сфера радиоэлектроники
    ремонт

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Смотри ценник генератора сигналов произвольной формы (в интернете), первая-же ссылка - АНР-3122 за 30к рубликов, вам нужно два таких. А если не произвольных, а вполне фиксированных - то вполне хватит Si5351. На первое время точно хватит.
  2. Надо!!! Уже на третьем проекте с чипом в 200 ног - всякие GPIO_AFRL_AFRL1_1 и тому подобное, начинают дико бесить. Потом начинает бесить дма, чуть позже дма2д... Словом - бесит всё, что требует много раз открывать документацию.
  3. Ну не умеет он, ему готовая функция нужна... https://bitbucket.org/AVI-crak/rtos-cortex-m3-gcc/src/default/ Файлы gpio_one.h - заметить сточку /#include "GPIO_ONE32F746BG.h"/ и один нужный вам из каталога gpio_one_all. Для f412rg - там точно есть файл. Использовать - gpio_one_pin(zap_gpio. - а дальше будет подсказка. Ошибиться невозможно, протупить тоже, если в автоподстановке нет нужного вам варианта - значит чип это безобразие не поддерживает. Конечный вариант выглядит примерно так: /// SPI4 gpio_one_pin(zap_gpio.E.pin02.v_af05_spi4_sck.speed4.pull_up.lock_on); /// spi4_sck gpio_one_pin(zap_gpio.E.pin04.out.speed4.lock_on); /// spi4_nss gpio_one_pin(zap_gpio.E.pin05.v_af05_spi4_miso.speed4.pull_up.lock_on); /// spi4-mo gpio_one_pin(zap_gpio.E.pin06.v_af05_spi4_mosi.speed4.pull_up.lock_on); /// spi4_mi gpio_one_pin(zap_gpio.A.pin00.analog.lock_on); /// adc1-0 - PA0. 43 gpio_one_pin(zap_gpio.A.pin03.analog.lock_on); /// adc2-2 - PA3. 50 gpio_one_pin(zap_gpio.C.pin03.analog.lock_on); /// adc3-13 - PC3. 38
  4. Может стоит начать изучение работы таймера не с регистров, а с начала главы про таймеры? Там есть упрощённая блок схема, что поможет понять внутреннее устройство таймера и его возможности. Потом идёт описание разных режимов работы таймера, во множестве вариантов. Описание упрощённое, с картинками и стрелочками "акцентами внимания". И только после этого начинается описание регистров. Подобным образом устроенна любая документация, на любом языке, и на любые устройства. Это своего рода стандарт подачи информации - сначала самое важное, а потом второстепенное.
  5. Там есть следующая ступенька эволюции - откомпелированный кусок кода в виде текста, для копирования в память и автономного запуска. Вот где настоящая боль.
  6. Отдельная функция, которая запускается по таймеру, время - за которое буфер на максимальной скорости заполняется на 3/4. В функции несколько статических указателей, на начало/конец сообщения, на точку чтения буфера, и на сам буфер. Кода в такой функции мало, и её можно смело поместить в прерывание аппаратного таймера. При появлении контрольных "\r","\n" - будим функцию парсера, который уже может работать долго.
  7. Значит нужно запустить третий уарт, чтобы следить за первыми двумя...
  8. Прекрасно, есть шанс успеть прокачать скилы до наступления взрослой жизни. Нажимать нужные кнопки на клавиатуре, да ещё и за хорошие деньги - намного приятнее чем работать грузчиком за копейки. А теперь оглянись - где ты, куда идёшь, и с какой целью. Три простых вопроса, актуальные практически в любой ситуации. Для начала внимательно прочитай маркировку своего мк, там важна каждая буква и цифра. После чего поиск документации через гугол, или кубик (STM32CubeMX) - который кстати обязательно нужно скачать. Вот например страница для STM32F030R8, REFERENCE MANUALS - это самое главное. Проект собирается для для твоего мк, а не для чипа Васи Пупкина из ваших интернетов. Используй свой браузер на 200% : панель закладок + тематические папки, поиск по странице, онлайн переводчик ( например Mногоязычный переводчик PDF/HTML/TXT ), онлайн компилятор для проверки простых алгоритмов godbolt.org, плагин для просмотра PDF файлов... А вот остальные свистопределки лучше убрать, для этого есть панель закладок. Кейл конечно круто, но составить стартовый проект в нем не так уж и легко для новичка. Embitz наверное единственный из выживших IDE, что делает это из коробки. Нужен именно стартовый - от самой IDE. Этот проект можно и нужно изменять - добавляя собственный код. Чистый стартовый всегда собирается, прошивается, и выполняется на мк без ошибок. А вот изменённый - не всегда и не везде. Ошибки всегда будут в дополнительном коде - этого достаточно для обучения.
  9. Я в курсе что А, В, С это кнопки на физическом уровне. В данном варианте в переменных А, В, С хранятся уже считанные значения кнопок, с актуальным состоянием в младшем разряде данных. И ещё: http://dfe.petrsu.ru/koi/posob/c/c.htm#g2.1 .Других вариантов не знаю.
  10. /// Y=(!A)*C+(!B)*(!C)+ A*(!C) // A B C Y // 0 0 0 1 // 0 0 1 0 // 0 1 0 1 // 0 1 1 0 // 1 0 0 0 // 1 0 1 0 // 1 1 0 0 // 1 1 1 1 uint8_t A,B,C,Y; Y = (((A^A)<<C)+((B^B)<<((C^C)&0x01))+(A<<((C^C)&0X01)))&0x01; // дословно if (A==C) if (A==0) Y=1; else if (B==1) Y=1; else Y=0; // быстро
  11. То-есть общение в пакетном режиме так и не получилось... Жаль, там чуть чуть подумать нужно было.
  12. Тогда нужно учиться http://dfe.petrsu.ru/koi/posob/c/c.htm . Используйте цикл с переключением светодиода, функцию задержки между переключениями светика. После включения реле - вечный цикл.
  13. Это похоже на автоматический генератор кода. Да, уже есть такие IDE, что сами могут писать код, правда получается страшнее чем у индусов. Измеряйте время в морганиях светика, особой точности видимо там не требуется.
×
×
  • Create New...