Jump to content

    
Sign in to follow this  
hd44780

STM32F030F4 + радиомодуль HC12 - творится нечто странное

Recommended Posts

1 час назад, Wasserati сказал:

Startup файл соответствующего мк можно из репозитория CubeMX взять.

Поделитесь адресом репозитория. А то каждый раз качать сотни мег куба ради одного заголовочного файла как-то не очень нравится.

Share this post


Link to post
Share on other sites

Если отдельно без куба, то вот например для F0:

https://my.st.com/content/my_st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-mcu-packages/stm32cubef0.license=1543601114301.product=STM32CubeF0.version=1.9.0.html

Подобным образом и для других линеек мк. Правда качать сотни мегабайт данных все равно придется. Не могут ST  не приложить пачку примеров использования под все возможные демоплаты, кучу всякой лишней документации и софта. 

Все нужное в папке Drivers/CMSIS. 

Куб я бы советовал поставить. Все актуальные версии заголовочных и прочих файлов только под него сейчас идут. Места он много не занимает, есть не просит. Сам за актуальностью библиотек следит. 

Share this post


Link to post
Share on other sites

 

2 часа назад, Wasserati сказал:

Если отдельно без куба,

...product=STM32CubeF0

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

Share this post


Link to post
Share on other sites

Двусмысленно немного выразился, в итоге получилась путаница.

У куба все библиотеки хранятся в отдельной папке которая так и называется "Repository", что я и написал.

Про системы контроля версий как-то мысль даже в голову не пришла. 

 

Share this post


Link to post
Share on other sites

Default Handler вызывается в том случае, когда произошло прерывание, не описаное в коде (имеющее вектор в таблице, но не получившее обработчика).

Рекомендую добавить в код строки:

void HardFault_Handler(void) {
    while(1) {}
};
	

Share this post


Link to post
Share on other sites

Нештатно работает только с радиомодулем. Значит траблы электрические (плохая фильтрация питания, плохая разводка земли), или электромагнитные. Может, банально boot0 не на земле.

То, что летят случайные прерывания - это говорит о наводках на оборудование, вплоть до самопроизвольного изменения ОЗУ.

Стартап скрипты у кокоса неплохие, даже с небольшой перестраховкой, местами.

 

Можно радиомодуль и МК разнести на пару метров (МК заэкранировать) и посмотреть результат.

 

Share this post


Link to post
Share on other sites

Долго молчал, тестировал.

Ещё недели полторы назад вынес радиомодуль на отдельную платку проводами (Vcc, GND, Rx, TX, SET) см по 10, на этой платке на питание поставил керамику 10nF, 100nF, 1uF + электролит 100 uF.

Сигнальные провода идут как есть, без кондёров. На SET можно было тоже 10 нан поставить, а на UART боязно как-то - завалит фронты, хз. Платку с процом не экранировал ничем.

Второй модуль (который подключен к компу) отнёс подальше от первого - вычитал в статьях про ардуину+HC-12, что модули надо разносить минимум на метр. Про электролит тоже там вычитал (советуют 22uF-1000uF).

В этих условиях сбоев пока не видел. Прикрутил к процу и датчику спячку - ногу Tx модуля завёл на RX+PA0 будится импульсами уарта модуля. Один байт, конечно, теряет, ну то ладно, так и задумывалось в общем.

С ногой SET ничего не делал, но она заработала, ответы на AT-команды ловлю исправно.

Пустое ненужное прерывание собаки выкинул.

Больше пока ничего не делал, проверяю.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this