Jump to content

    

Andy_F

Свой
  • Content Count

    109
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Andy_F

  • Rank
    Частый гость

Контакты

  • Сайт
    Array

Информация

  • Город
    Array

Recent Profile Visitors

1384 profile views
  1. Спасибо. Очень жаль. Пакет интересный, но без этого переходить на него нельзя.
  2. Подскажите пожалуйста, реализованы ли в KiCAD функции "pin swap" и "gate swap" ? В документации ничего похожего не нашёл.
  3. У 373-го калибровка 12 битного ADC не работает (у меня, по крайней мере ) ).
  4. CubeMx

    Там то, что раньше было в mxconstants.h
  5. Спасибо. "Сказали" - немножко неопределённый источник информации, хотелось бы доверять RM. И в ERRAT'е на эту тему ничего... В данном случае удалось выкрутиться (поменять местами UART4 и UART5), но ведь так можно и на серьёзные грабли наступить.
  6. В RM Rev 3 эта табличка выглядит вот так: Но, в любом случае, спасибо за участие.
  7. Покупались только что (хотя это, понятно, ни о чём не говорит). Проверил, UART4 с DMA работает.
  8. Тактирование включено, и канал тот...
  9. Хочу поинтересоваться у уважаемых, удалось ли кому-нибудь запустить UART5 в связке с DMA на STM32 VL HD ? Чтобы говорить предметно, пишу под STM32F100RC, пытаюсь воспроизвести AN3109 от ST (эмуляция FIFO). Так вот на USART1 и DMA1 (соответственно) всё работает, а на UART5 и DMA2 категорически не желает (принимаемые байты DMA не воспринимаются/не сохраняются). Приём по прерыванию при этом прекрасно работает, но хотелось бы с DMA. Создаётся впечатление, что DMA2 надо ещё как-то дополнительно включать... :)
  10. Спасибо за отклик. Проблема выявлена, к IAR, как таковому, не имеет отношения. В библиотеке от ST используется инициализация структурами. Их желательно полностью инициализировать значениями по умолчанию. В сопроводительных примерах этого не сделано, что и сбило с пути истинного...
  11. Имеется проект под STM32F205, компилятор EWARM 6.30.4, используется библиотека периферии от ST 3.5.0 . Программа пока не делает ничего полезного, инициализируется несколько периферийных устройств (SPI по прерыванию от таймера выдаёт некие числа, DAC по таймеру выдаёт табличные данные с помощью DMA). Сконфигурирован системный таймер для формирования задержек, мигаем светодиодиком... Обнаружилось, что уровень оптимизации влияет на работу периферии: Low - всё работает Medium и High - перестают работать SPI и DAC (SPI "молчит", а DAC выдаёт какой-нибудь постоянный уровень). При выключении опции "Code motion" c уровнем Medium всё перечисленное работает, с уровнем High - SPI работает, DAC - нет. Дело, похоже, не в уровнях оптимизации, они лишь указывают на наличие проблемы. Не подскажите ли, в какую сторону смотреть ? Спасибо.
  12. Иногда в футпринте компонента бывает удобно применить шелкографию, нарисованную полигонами "Copper area" в слое шелкографии. Например, таким образом оформлена значительная часть известной библиотеки ESP (пример на картинке). Однако оказалось, что если затем в Layout двигать компонент "ручками", то всё нормально, а если задать компоненту координаты принудительно (в списке компонентов), то нарисованная таким образом шелкография остаётся на месте. Приаттачивание полигонов к выводу компонента не помогает. Хотелось бы знать - можно ли это как-то победить ? Пользуюсь версией 15.7.
  13. Нет, от явного приведения типа ничего не меняется. Спорить про деление не буду, не оно меня в данном случае интересует. Большинство функций модуля math работают именно с плавающей точкой. Хотелось бы пользоваться готовой библиотекой, а не "изобретать велосипед". А здесь такая беда...
  14. При изучении времени выполнения операций с плавающей точкой (IAR EWAVR 4.30A) выяснилось, что сами операции выполняются относительно быстро (умножение - ~90 тактов, деление - ~90 тактов, логарифм - ~240 тактов...). Но преобразование из int во float занимает чудовищное время - ~1600 тактов. Имеется в виду элементарная операция вида: int a; float b; ... b = a; ... То есть, взяли мы отсчёт АЦП, и для вычисления чего-либо с плавающей точкой, должны сперва потратить 1600 циклов на преобразование. А если отсчёт не один... Так вот, вопрос, - не существует ли способа ускорить этот процесс ? Рассматривание листинга дизассемблера показало, что в этом месте вызывается функция SL2F, предполагаю - SignedLong2Float. Не существует ли способа "сказать" компилятору, что следует использовать, допустим, SI2F (SignedInt2Float) ?