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

adnega

Свой
  • Постов

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

  • Посещение

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

    3

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


  1. Изучение модуля USB

    Примеры для STM32F4DISCOVERY запускались без каких-либо проблем. Например, обновление прошивки с USB-флешки. Или проигрывание wav-файла с USB-флеш. Пробовал модифицировать, добавил управление громкостью с акселерометра. Не заработал только цифровой микрофон (видимо связано с использованием плавучки, которое на тот момент было не актуально - поэтому дальше не копал). У Вас собственное железо или используете указанную выше отладочную плату? PS. Дальше запуска примеров не разбирался с комплектом поставки (либы), поскольку не сторонник "чужих велосипедов", а изобретаю потихоньку свои)
  2. Вот только ощущение такое складывается, что при этом "дергается" нога RESET. И если по каким-то причинам, потенциал на ней не упадет до нуля, сброса не произойдет...
  3. Преобразование при такой разрядности занимает время порядка секунды (750мс). Вполне можно нарваться на пограничное значение, что преобразование еще не закончилось, а результат уже считывается. Попробуйте увеличить задержку до 10 секунд - опрашивать этот датчик все равно часто не нужно, поскольку будет саморазогрев. Ну, и тайминги слотов проверить - может не правильно различаются "0" и "1". Кстати, CRC совпадает?
  4. STM32F407IG, Prefetch Buffer

    В некоторых случаях инициализировать периферию можно не сразу же после установки битов разрешения тактирования, а спустя несколько актов шины. "Шустрая" выборка может сказаться на этом процессе. Хотя, если Вы пользуетесь стандартной библиотекой... в ней этот момент должен быть учтен.
  5. А меня несколько месяцев назад больно "ударила" следующая конструкция: if((a + CONST) > a) a += CONST; Хотел сделать универсальный счетчик с насыщением, но при знаковом a и беззнаковом CONST не работает(( Молчу уже про разрядность a (решение должно быть универсальным) и многопоточный доступ... Хотя на первый взгляд все логично...
  6. Дык, при использовании стандартной библиотеки шансы на портируемость исходников повышается. Правда, я сам ее не использую, но идея вроде такая. Зачем Вам совместимость на бинарном уровне, когда можно пользоваться совместимостью на уровне С-исходника, т.е. не дожидаясь целевой платформы, использовать то, что есть сейчас под рукой?
  7. У этих контроллеров разные ядра: M3 и M4, но если писать под M3, то должно исполняться и на M4. У контроллеров разная память, соответственно линкеру нужно указать разницу. В 303 заявляется 48кБ ОЗУ, но 8кБ из них "особенные" и лежат в "особенном" месте. Соответственно можно поиметь проблемы с неправильным указанием начала стека. По периферии тоже могут отличаться: вроде, RCC у них отличаются.
  8. Идентификатор 11 или 29 бит? Есть ли фильтрация по идентификаторам (включена ли)?
  9. В CAN еще момент считывание для бита выбирается. И есть интервал в бите для подстройки частоты.
  10. Скорее так: нужно по-быстрому поменять несколько мест в нескольких программах (объемом 10К строк). Может алгоритм поменять, может тип данных, структурку и т.п. На C такие действия тривиальны, на ASM врагу не пожелаешь)) Да, и к Ctrl-C, Ctrl-V вариант C дружественнее...
  11. Can в STM32F103RBT6

    Приписать volatile к переменной.
  12. Нет. Нужна гарантия, что среди Ваших изделий не будет повторов, и не будет повторов с другими 1-wire устройствами. Часть GUIDа не есть уникальное число. Как генерировать идентификатор в устройстве? Идентификатор включать в прошивку? 1000 устройств и 1000 уникальных прошивок?!
  13. Каждый узел сети 1-wire содержит уникальный 64-битный идентификатор (48-бит + CRC). Как его "придумывать"? Где гарантия, что он будет уникальным?
  14. 1. Практически всю комплектуху для серийных изделий берем в Компэле (про танталы достоверно утверждать не стану) - пока нет проблем. 2. Несколько раз хлопали танталы на выходе DC/DC собственной разработки. Начали копать: разработчик выяснил, что в некоторых режимах выход DC/DC на необходимый уровень (13.5В) несколько превышал 16В, допустимых для установленного танталового конденсатора. Разработчик подкорректировал номиналы + заменили кондер на 35-вольтовый. Тьфу-тьфу. А в начале ситуация была примерно такая же: со старыми ничего, а новые конденсаторы взрываются.
  15. stm32f407

    Чаще всего прибивает защитные диоды, при этом питание звонится на КЗ. В некоторых случаях проц продолжает работать... только при этом калится и потребляет сотни мА.
  16. stm32f407

    Обидно, но бывает (случалось несколько раз, вылечить нельзя, микруху в мусорку). В этом плане с STM32 нужно быть аккуратнее. На LPC24xx отжег несколько ног - все кроме них продолжает работать.
  17. STM32F 3xx серия

    Если нужна только прошивка контроллера, то это легко делается вызовом сторонней программы (vsprog.exe). Насчет отладки под Keil ничего сказать не могу. Необходимо помнить, что процесс перепрошивки на versaloon необратим.
  18. Добавлю, что в STM32F3 есть два калибровочных значения при 30С и 110С (сырые данные АЦП). Это к вопросу объективности измерений - как и раньше не объективно, но положительная динамика наблюдается))
  19. Можно. Я делал так: Генерировал массив отвечающий за установку/сброс битов и по таймеру через DMA производил запись в GPIOx->BSRR.
  20. Сравните с существующей реализацией: if(con->txena) *con->txena = TX_ON; и во что она скомпилируется. Или вот такое: WORKLED_bit ^= 1; В этом плане GPIO на bit-band очень удобен. При этом "цена вопроса" - 6кБ в соответствующем регионе!
  21. Написал библиотеку для работы с UART. При инициализации передаем адрес бита ножки GPIO, отвечающую за передачу в RS-485. Как быть теперь? Применить свою виртуальную адресацию битов портов? По библиотеке для этих целей могу "протащить" лишь одну 32-битную переменную.
  22. Про фичу ядра согласен. Но в приведенном Вами документе для периферии выделяется Peripheral bit-band region 0x40000000-0x400FFFFF (см. стр. 31). Легко убедится (см. RM для stm32f3xx), что GPIOx туда не попадает, т.к. начинается с 0x48000000. (( Сам с данной неприятностью столкнулся при использовании "универсальных дефайнов для работы с GPIO"...
×
×
  • Создать...