Stm32 с чего начать изучение...

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
Nicochip
Встал на лапы
Сообщения: 142
Зарегистрирован: Чт ноя 08, 2018 12:02:06

Re: Stm32 с чего начать изучение...

Сообщение Nicochip »

Мурик, у меня точно такая же плата
Изображение
Под неё правил скетч в Arduino IDE, заливал через ST-Link, светодиод моргает как и положено. Сейчас снёс Keil, переустановил его, доустановил паки под семейство, в установленных паках нашёл пример для Nukleo (на том же проце F103C8), в функцию main вставил свой код
СпойлерRCC->APB2ENR |= RCC_APB2ENR_IOPCEN;

// ????????????? CRL ????????.
GPIOC->CRH &= ~GPIO_CRH_CNF13; // ?????????? ???? CNF ??? ???? 13. ????? 00 - Push-Pull
GPIOC->CRH |= GPIO_CRH_MODE13_0; // ?????????? ??? MODE0 ??? 13 ????. ????? MODE01 = Max Speed 10MHz

GPIOC->ODR &= ~GPIO_ODR_ODR13; // ??????? 0 ?? PC13
Снова пересобрал проект, залил, светодиод так и не зажёгся.

Кусок кода впихивал после всех инициализаций. Чтоб ничто ненароком не погасило светодиод, после своего куска поставил заглушку "while (1) {}". Грешу на свой кусок кода, скорее всего не то и не в те регистры впихивается.
ПОМОГИТЕ! :cry:
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

Nicochip, держи.
Keil_Led_Blink.zip
(238.7 КБ) 285 скачиваний
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

Nicochip писал(а):у меня точно такая же плата
По той ссылке что я дал, есть несколько прошивок. Проверяли их?
Постарайтесь разобраться с отладкой и посмотрите из-за чего не работает. Про отладку (не кейл, но может чем-то поможет). http://purebasic.mybb.ru/viewtopic.php?id=564

VladislavS, у вас нестандартные файлы.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Stm32 с чего начать изучение...

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3508924#p3508924"]Nicochip, держи.[/uquote]
Вы можете ответить, зачем простое объяснять сложно? Да и не просил он помигать диодом за него.

Добавлено after 5 minutes 26 seconds:
[uquote="Nicochip",url="/forum/viewtopic.php?p=3508901#p3508901"]Снова пересобрал проект, залил, светодиод так и не зажёгся.[/uquote]
И не зажжется. Вы в ноль выход выставляете.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

[uquote="Мурик",url="/forum/viewtopic.php?p=3508960#p3508960"]VladislavS, у вас нестандартные файлы.[/uquote]Можно с этого места поподробнее? Что там нестандартного?

[uquote="a5021",url="/forum/viewtopic.php?p=3508981#p3508981"]Вы можете ответить, зачем простое объяснять сложно?[/uquote]Можно с этого места поподробнее? В каком месте сложно?

[uquote="a5021",url="/forum/viewtopic.php?p=3508981#p3508981"]Да и не просил он помигать диодом за него.[/uquote]И что? Мой пример - хочу мигаю, хочу не мигаю. Не нравится -> корзина.

[uquote="a5021",url="/forum/viewtopic.php?p=3508981#p3508981"]И не зажжется. Вы в ноль выход выставляете.[/uquote]Зажжется. У него катод на PC13.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Stm32 с чего начать изучение...

Сообщение a5021 »

[uquote="VladislavS",url="/forum/viewtopic.php?p=3508992#p3508992"]Можно с этого места поподробнее? В каком месте сложно?[/uquote]
Вы наворотили подключаемых файлов с билибердой, которая в данном случае ничего не упрощает и не проясняет. Если уж так хотелось, надо было прямо в его коде вставить пару-тройку строк, а не какой-то геммор с прерываниями систика мутить.
Зажжется. У него катод на PC13.
Тфу, прошу пардону. Спутал. Действительно нулем зажигается.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

VladislavS писал(а):Что там нестандартного?
Все, кроме startup_stm32f10x_md.s и stm32f10x.h.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

[uquote="Мурик",url="/forum/viewtopic.php?p=3509014#p3509014"]Все, кроме startup_stm32f10x_md.s и stm32f10x.h.[/uquote]Стартап и заголовочный файл, значит, стандартные - уже хорошо. Поехали дальше. main в каком месте нестандартный? SystemInit, вызываемый из стандартного стартапа, в каком месте нестандартный?
Аватара пользователя
Nicochip
Встал на лапы
Сообщения: 142
Зарегистрирован: Чт ноя 08, 2018 12:02:06

Re: Stm32 с чего начать изучение...

Сообщение Nicochip »

VladislavS "Error: Flash Download failed - "Cortex-M3""
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

Отладчик то на ST-Link переключил?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

VladislavS писал(а):Поехали дальше. main в каком месте нестандартный?
В месте cpp. :)))
VladislavS писал(а):SystemInit, вызываемый из стандартного стартапа, в каком месте нестандартный?
В том что он должен быть в стандартном файле system_stm32f10x.c от ST и иметь совсем другой код. :)
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Stm32 с чего начать изучение...

Сообщение a5021 »

Мурик, не мешайте художнику самовыражаться. Он еще до замыканий с лямбдами не дошел. Диодом же перед новичками мигаем, дело крайне серьезное.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

Против подхода VladislavS ничего не имею но такой код не для новичков. Не то чтобы он сложный, просто нестандартный.
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Stm32 с чего начать изучение...

Сообщение a5021 »

У вас нет ощущения, что одна часть предложения противоречит другой?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Аlex »

Странно как-то. Человек использует "плюсы", модульность, ... А его говном облили.
Что за люди ... :facepalm:
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Stm32 с чего начать изучение...

Сообщение dosikus »

Да, кстати , Мурик же эксперд по плюсам, а тут нате не признал.
Аватара пользователя
VladislavS
Собутыльник Кота
Сообщения: 2562
Зарегистрирован: Вт май 01, 2018 19:44:47

Re: Stm32 с чего начать изучение...

Сообщение VladislavS »

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

А в "стандартном" system_stm32f10x.c овер 1000 строк шлака новичёк, конечно же, будет как рыба в воде, а в моём на 10 строк тут же запутается :)
a5021
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Re: Stm32 с чего начать изучение...

Сообщение a5021 »

[uquote="Аlex",url="/forum/viewtopic.php?p=3509041#p3509041"]Странно как-то. Человек использует "плюсы", модульность, ... А его говном облили.
Что за люди ... :facepalm:[/uquote]
За то, что на чисто Си-шный вопрос он ответил каким-то плюсовым суржиком в запутанной форме ? Вот сволочи!
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Аlex »

Даже и не знаю, что в этом примере вас Муриком могло запутать :roll:
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

Досик, если код предложенный VladislavS, "замигает" у Nicochip, то он может начать его использовать как основу для своих прог. Но коде тактирование вообще не настраивается и МК работает на 8 МГц от HSI.
Поэтому я пишу что код нестандартный и не нужно его предлагать начинающему.
Аlex писал(а):Что за люди
Алекс, я выше написал почему этот код не годится для новичков и дело вовсе не в C++. О какой модульности вы пишите непонятно.
VladislavS писал(а):а в моём на 10 строк тут же запутается
Каким образом в вашем коде настраивается тактирование МК?
Код можно было вовсе упростить до такого.
Спойлер

Код: Выделить всё

include "stm32f10x.h"

#define StackTop  ((uint32_t)(0x20000000 + 20*1024))

static void Reset_Handler(void);

__attribute__((used,section(".isr_vector")))
void (*const g_pfnVectors[])(void) =
{
  (void*)StackTop, // Указатель на начало стека.
  Reset_Handler    // Функция выполняемая при сбросе МК.
};

static void Reset_Handler(void)
{
    RCC->APB2ENR |= RCC_APB2ENR_IOPCEN; // Вкл. тактирование порта GPIOC.
    GPIOC->CRH |= GPIO_CRH_MODE13;      // Настройка вывода PC13 как выхода.

    while(1)
    {
        GPIOC->ODR ^= (1<<13);         // Инвертирование состояния вывода PC13.
        for (volatile uint32_t i=0; i<1000000; i++);
    }
}
Ответить

Вернуться в «ARM»