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

Сергей Борщ

Модератор
  • Постов

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

  • Посещение

  • Победитель дней

    31

Сообщения, опубликованные Сергей Борщ


  1. 4 минуты назад, fpga_student сказал:

    Там видно, что тот кто писал hal, тупо снес условный оператор(видимо в 403a условие не нужно проверять в отличие от 415) а операторные скобки оставил на месте

    Может быть и так. Изначально этих исходных данных вами озвучено не было.

  2. 11 минут назад, fpga_student сказал:

    поклонниками рационального стиля были Керниган и Ричи. Интересно они тоже были писарями ?

     В первом издании их книги "Язык програмирования Си", которая до введения в 89 году первого стандарта языка была стандартом де-факто (изложенный в ней стиль и является тем самым "K&R style"), требовалось все локальные переменные объявлять в начале функции. Уже в следующем стандарте от 99 года локальные переменные можно было объявлять где угодно по мере необходимости. Наверное для введения этого изменения в стандарт были приведены веские доводы и эти доводы были признаны вескими. И если мне не изменяет память - в следующих изданиях этой книги отцы-основатели приняли это изменение.

  3. 1 час назад, fpga_student сказал:

    Интересно бы понять в чем здесь сакральный смысл скобок.

    Когда писали - pll_mult и  pll_mult_h были локальными переменными (что логично) и скобки ограничивали их область видимости. Потом код дорабатывал поклонник "классического K&R style" и он объявления переменных перенес в начало функции. Ну а скобки не входили в узкий круг понятий этого писаря, он их не тронул. 

    57 минут назад, jcxz сказал:

    Я почему-то обхожусь.

    Покажьте! Покажьте нам объявления локальных переменных внутри case без фигурных скобок.

  4. Я же не знаю, как вы просматриваете форум. Я смотрю через ленту новых сообщений:
    image.png.acf46e600acf3b069ecd1208b3549242.png
    там есть настройка:
    image.png.5970c94e1ef1e5652f3ad4c9b72d1a5d.png

    Хотя, действительно, в разделе ARM я этой темы не вижу, там самая свежая тема с ответом от 29 ноября. А в ленте указано, что тема находится в разделе ARM.

  5. В 06.04.2023 в 21:38, serj-great сказал:

    Но с-файлы компилятор не компилирует. Видимо

    Видимо что? Он же наверняка что-то пишет, но мы не можем угадать, что именно. Полагаю, компилятор вы установили и он работает. Просто не хватает какого-то вспомогательного пакета, вроде libc-devtools.

  6. ADCDevice.TxByte = SPI_TxByte;

    С приемом аналогично.

    17 минут назад, Halfback сказал:

    Но вот меня клинит на том, где правильно написать что tADC_TxByte SPI_RxByte;

    Обычно в примерах из интернета это делают в функции ADCInit(), которую вызывают в начале main().

  7. 3 часа назад, dimka76 сказал:

    118.8 это как раз размер паза, а не внешний размер профиля.

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

    3 часа назад, dimka76 сказал:

    Дождаться прихода корпуса и обмерить его.

    Так и придется, но сроки поджимают.

    3 часа назад, dimka76 сказал:

    Да и сам Combiplast вообще не гуглится, только продавцы.

    Китайса, аднака! Но ничего другого под плату шириной не менее 90 мм, с крепежными "ушами" и с передними панелями в виде плоских пластин (вместо которых можно заказать плату с фрезеровкой у того же jlcpcb) не нашлось...

  8. Вот не уверен. Это внешний размер профиля и далеко не факт, что внутренний размер паза такой же. Не хочется потом плату напильником дорабатывать. И длина платы неизвестна.

  9. Приветствую всех. Задумал использовать в изделии корпус Combiplast CP-17-6B1

    image.png.2d35db8a4282d123e536dc86e6b676b2.png

    Документацию к нему делали явно вредители - на чертеже есть куча размеров, но определить по нему габариты платы невозможно. Как и восстановить размеры лицевой панели. Может у кого-то есть такой корпус живьем, какова реальная длина алюминиевого профиля? Ну и ширину паза под плату заодно измерить было бы неплохо. А если бы и размеры передней панели сняли - моя благодарность будет безгранична в пределах разумного...

  10. 2 часа назад, Arlleex сказал:

    И эта противо-ЭДС может быть весьма ощутима. Вот вопрос как ее подавлять правильно.

    Так она замкнется через паразитные диоды полевых транзисторов и источник питания. Или через диод одного транзистора и открытый противоположный транзистор, если оставить его открытым.

    24.gif.4fc600297c57d65237caae5f91cf3d62.gif

     

    У Леонида Ивановича это довольно подробно описано.

    • Upvote 1
  11. 6 минут назад, Arlleex сказал:

    Двигатель стал генерировать на своих клеммах напряжение, совпадающее по знаку с тем, что его раскрутило в эту сторону.

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

     

  12. Просто включайте тот транзистор, через диод которого течет ток. Шунтируйте диод открытым транзистором. То есть сделайте так, чтобы в каждом полумосте в любой момент времени (кроме мертвого времени) один из транзисторов был открыт. Падение на транзисторе меньше, чем на диоде - греться будет меньше. И время восстановления диода не будет играть роли.

  13. 7 минут назад, auric сказал:

    Либо улетает в хард фаулт на настройке ком-порта (USART)...далее не забегал.

    А цепь питания AVDD точно запитана? Мне однажды вместо ферритовой бусины туда запаяли идентичный по виду конденсатор и проц улетал в HardFault при попытке запустить PLL.

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