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

STM32 для чайника


ART_ME

Рекомендуемые сообщения

Возможно, но на АВР есть codevision и  Arduino IDE, в которых много библиотек и примеров и конфигуратор в кодевишине хороший, и сами АВР проще в настройке.

Скачал сейчас кокос все компилится и хекс и бинарник, нужно только библиотеки прикрутить

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Да не думал я что у STM такая галимая поддержка, в плане платного ПО, с кокосом тоже куча проблем в плане переноса конфигурации из куба, заморочки еще те, а IAR найти ссылку там где он с кряком тоже гиблое дело.

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Ну я победил в 2 часа ночи этот IAR нашел с кряком, все скомпилилось, уже в ЮАРТ выводил слова, но есть вопросы, работа с ЮАРТ, конфигурацию сделал в кубе, а отправляю посылку через регистр, но видел где-то вроде есть библиотеки UART только вот прописываю #include "stm32f10x_usart.h а IAR ругается соответсвтенно и не могу этут библиотеку применить и использовать USARTsend, так же не понравилось то что нет delay и эту функцию самому нужно прописывать, на АВР есть в каждом компиляторе, вопрос с АЦП выбрал два входа на ADC1 инжекторный режим с перезапуском, но дальше в кубе где смотрю АЦП там один пишет инжекторный другой регулярный, или что-то типа такого, ну регулярный disable выбрал, ну и пытаюсь просто записать в переменную данные с регистра AВС1_JDR1 а дальше прокинуть в ЮАРТ, но ничего ничего в ЮАРТе не вижу, тут еще вопрос с ИОН, когда я его не трогал(то есть по умолчанию) какой режим ИОН включен внешний или внутренний? Сейчас пока буду мерять что у меня на ref.  С АЦП такая же ситуация на счет библиотек  #include "stm32f10x_adc.h прописываю и IAR ругается, то ли эти библиотеки нужно где-то как-то доставлять то ли что? И где можно почитать описание функций стандартных библиотек?

Так же попытался считывать регистр ADC1->JEOC регистр окончания преобразования инжекторного канала что бы вывести число с АЦП в ЮАРт по окончании преобразования, а IAR ругается что не знает такого регистра

И еще я по ЮАРТ1 бросаю прошивку в камень через flash loader demonstrator, а можно ли через этот же ЮСБ - ТТЛ переходник бросать прошивку с IAR?

Изменено пользователем Электронщик
Ссылка на комментарий
Поделиться на другие сайты

Вообщем понял что нужно библиотеки доставлять, вот только на официальном сайте, не могу найти стандартную библиотеку периферии 

Ссылка на комментарий
Поделиться на другие сайты

библиотеки доставлять не надо. В кубе есть галочка в свойтвах проекта - копировать все библиотеки в папку проекта. И все

55 минут назад, Электронщик сказал:

а можно ли через этот же ЮСБ - ТТЛ переходник бросать прошивку с IAR?

вообще то все нормальные люди пользуются STLink v2. Это и программатор и отладчик - отладка работает прямо в камне пошаговая. Надо всего то купить его за пару баксов на алишке. Их там навалом. Все среды разработки его штатно поддерживают

55 минут назад, Электронщик сказал:

И где можно почитать описание функций стандартных библиотек?

как это где? В даташите UM1850

55 минут назад, Электронщик сказал:

так же не понравилось то что нет delay

разочарую. Есть. HAL_Delay(ms);

По поводу библиотек - они обычно не нужны. Только если спец-периферию не цеплять. Рабочие примеры кода расписанные до атомов лежат в User/CubeMX/Projects по моему. Короче куб идет с кучей примеров под тот камень на который вы ставите пакет драйверов. Я оттуда снипеты постоянно дергаю

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

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Библиотеки скопированы, и показываются проекты, тогда их includom разве не нужно прописать в main? 

Тогда не пойму почему такой кусок а IAR на него ругается, именно того что USARTSend нету и ADC_GetConversionValue(ADC1) тоже нет?

        adc_value = ADC_GetConversionValue(ADC1);

        sprintf(buffer, "%d\r\n", adc_value);

        USARTSend(buffer, sizeof(buffer));

Ссылка на комментарий
Поделиться на другие сайты

инклюдить их не надо. Откройте заголовочник который у вас прописан в шапке мэйна и просто раскомментируйте строку в блоке конфигурации библиотек. Там они сразу прописаны все

выглядит этот блок примерно так

#define HAL_MODULE_ENABLED  
#define HAL_ADC_MODULE_ENABLED
/*#define HAL_CAN_MODULE_ENABLED   */
/*#define HAL_CEC_MODULE_ENABLED   */
/*#define HAL_CORTEX_MODULE_ENABLED   */
/*#define HAL_CRC_MODULE_ENABLED   */
/*#define HAL_DAC_MODULE_ENABLED   */
#define HAL_DMA_MODULE_ENABLED
/*#define HAL_ETH_MODULE_ENABLED   */
/*#define HAL_FLASH_MODULE_ENABLED   */
#define HAL_GPIO_MODULE_ENABLED
/*#define HAL_I2C_MODULE_ENABLED   */
/*#define HAL_I2S_MODULE_ENABLED   */
/*#define HAL_IRDA_MODULE_ENABLED   */
/*#define HAL_IWDG_MODULE_ENABLED   */
/*#define HAL_NOR_MODULE_ENABLED   */
/*#define HAL_NAND_MODULE_ENABLED   */
/*#define HAL_PCCARD_MODULE_ENABLED   */
/*#define HAL_PCD_MODULE_ENABLED   */
/*#define HAL_HCD_MODULE_ENABLED   */
/*#define HAL_PWR_MODULE_ENABLED   */
/*#define HAL_RCC_MODULE_ENABLED   */
/*#define HAL_RTC_MODULE_ENABLED   */
/*#define HAL_SD_MODULE_ENABLED   */
/*#define HAL_SDRAM_MODULE_ENABLED   */
/*#define HAL_SMARTCARD_MODULE_ENABLED   */
/*#define HAL_SPI_MODULE_ENABLED   */
/*#define HAL_SRAM_MODULE_ENABLED   */
#define HAL_TIM_MODULE_ENABLED
/*#define HAL_UART_MODULE_ENABLED   */
/*#define HAL_USART_MODULE_ENABLED   */
/*#define HAL_WWDG_MODULE_ENABLED   */

#define HAL_CORTEX_MODULE_ENABLED
#define HAL_DMA_MODULE_ENABLED
#define HAL_FLASH_MODULE_ENABLED
#define HAL_GPIO_MODULE_ENABLED
#define HAL_PWR_MODULE_ENABLED
#define HAL_RCC_MODULE_ENABLED

 

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, Электронщик сказал:

Тогда не пойму почему такой кусок а IAR на него ругается, именно того что USARTSend нету и ADC_GetConversionValue(ADC1) тоже нет?

вообще все имена функций должны начинаться с HAL_ по правилу именования. Естественно таких функций как у вас в библиотеке не будет

Должна быть HAL_UARTSend() ну и так далее

Только что, Электронщик сказал:

В шапке maina нет

значит в папке проекта inc ищите файл с окончанием _conf.h

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

вот эти строчки подключают всю библиотеку. Инклюдить ничего больше не надо

/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stm32f1xx_hal.h"

конфигурация библиотеки драйверов прописывается в файле stm32f1xx_hal_conf.h

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

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

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Некоторые временные интервалы для HD44780 измеряются микросекундами, например.

void LCD_PulseEN()
{
    LCD_OUT &= ~LCD_EN;									// pull EN bit low
    _delay_us(2);
    LCD_OUT |= LCD_EN;    								// pull EN bit high
    _delay_us(2);
    LCD_OUT &= (~LCD_EN);    							// pull EN bit low again
    _delay_us(100);
}

 

Изменено пользователем Darth_Vader
Ссылка на комментарий
Поделиться на другие сайты

и где вы такие имена оттопырили то? Нету такого в 1850

ну и у функций этих кое где есть параметры в виде дескрипторов устройств

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

по порядку - HAL_ADC1_Init нет в природе

HAL_ADC1_Start тоже. Есть HAL_ADC_Start(&hadc1 и так далее)

по остальному тоже. Называется - смотрю в книгу вижу фигу

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • @Gomerchik а вы контролировали как меняется уровень сигнала на А1 ардуины?
    • Спасибо за совет. Автором данного проекта я не являюсь, мне нужно было воссоздать уличный датчик для метеостанции взамен пропавшего(( Из разного найденного в интернете этот проект работает с моей станцией Орегон (спасибо автору). В понедельник попробую последовать Вашему совету. Но все равно куча непоняток  как блин это работает)) Если дело в неправильной отправки команды, то как на это влияет подключение датчика температуры? Если совсем не подключать таймер, то передача идет один раз (как и прописано в программе), станция принимает и отображает, но минут через сколько-то естественно станция уже ни чего не показывает, но с таймером питание полностью не пропадает с ардуинки, но передача сигнала каким-то образом работает по таймеру.  В моем понимании данная команда подается один раз потому, что таймер должен отключать питание МК после передачи сигнала и каждые 43 сек снова подавать питание (так того требует станция).  Ардуино передает показания температуры отключается полностью и 43 секунды мк не работает.  Сейчас у меня питание пока сделано на подпитке от солнечной батареи, но пару пасмурных дней и аккумулятор съедается до отключения(
    • thickman Так и сделаю. Вытащу из бу БП.  Буду знать, как отличить. Благодарю. Заменил транзисторы на IRFB20N50K. Картина стала, совсем другой.  Похоже трудность не в драйвере, на момент подвозбуда, переходные процессы, в нем, завершены. Увеличил затворные резисторы до 50ом, стало немного лучше.  Не понятно, почему верхний ключ греется несколько сильнее. Возможно, стоит посмотреть ток в коллекторе.  Снабберные емкости временно удалил, изменений не произошло.  Замена ТГР на другой, на кольце MSTN-16A-TH, так же, результата не принесла.   irfb20n50k.pdf
    • А что нить из ассортимента активных щупов производства СССР..))
    • Типа такого: https://aliexpress.ru/item/2044864227.html?sku_id=58855020183
×
×
  • Создать...