Страница 19 из 82
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 18:17:08
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) {}". Грешу на свой кусок кода, скорее всего не то и не в те регистры впихивается.
ПОМОГИТЕ!

Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 18:42:18
VladislavS
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 19:22:11
Мурик
Nicochip писал(а):у меня точно такая же плата
По той ссылке что я дал, есть несколько прошивок. Проверяли их?
Постарайтесь разобраться с отладкой и посмотрите из-за чего не работает. Про отладку (не кейл, но может чем-то поможет).
http://purebasic.mybb.ru/viewtopic.php?id=564
VladislavS, у вас нестандартные файлы.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 19:43:39
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]
И не зажжется. Вы в ноль выход выставляете.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 19:49:27
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.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:07:20
a5021
[uquote="VladislavS",url="/forum/viewtopic.php?p=3508992#p3508992"]Можно с этого места поподробнее? В каком месте сложно?[/uquote]
Вы наворотили подключаемых файлов с билибердой, которая в данном случае ничего не упрощает и не проясняет. Если уж так хотелось, надо было прямо в его коде вставить пару-тройку строк, а не какой-то геммор с прерываниями систика мутить.
Зажжется. У него катод на PC13.
Тфу, прошу пардону. Спутал. Действительно нулем зажигается.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:16:33
Мурик
VladislavS писал(а):Что там нестандартного?
Все, кроме startup_stm32f10x_md.s и stm32f10x.h.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:22:42
VladislavS
[uquote="Мурик",url="/forum/viewtopic.php?p=3509014#p3509014"]Все, кроме startup_stm32f10x_md.s и stm32f10x.h.[/uquote]Стартап и заголовочный файл, значит, стандартные - уже хорошо. Поехали дальше. main в каком месте нестандартный? SystemInit, вызываемый из стандартного стартапа, в каком месте нестандартный?
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:24:30
Nicochip
VladislavS "Error: Flash Download failed - "Cortex-M3""
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:26:57
VladislavS
Отладчик то на ST-Link переключил?
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:28:09
Мурик
VladislavS писал(а):Поехали дальше. main в каком месте нестандартный?
В месте cpp.
VladislavS писал(а):SystemInit, вызываемый из стандартного стартапа, в каком месте нестандартный?
В том что он должен быть в
стандартном файле system_stm32f10x.c от ST и иметь совсем другой код.

Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:30:11
a5021
Мурик, не мешайте художнику самовыражаться. Он еще до замыканий с лямбдами не дошел. Диодом же перед новичками мигаем, дело крайне серьезное.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:31:42
Мурик
Против подхода VladislavS ничего не имею но такой код не для новичков. Не то чтобы он сложный, просто нестандартный.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:33:17
a5021
У вас нет ощущения, что одна часть предложения противоречит другой?
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:41:08
Аlex
Странно как-то. Человек использует "плюсы", модульность, ... А его говном облили.
Что за люди ...

Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:41:44
dosikus
Да, кстати , Мурик же эксперд по плюсам, а тут нате не признал.
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:53:02
VladislavS
Да нет там плюсов как таковых. Там только заготовка, чтобы их будущее использование не сломало проект.
А в "стандартном" system_stm32f10x.c овер 1000 строк шлака новичёк, конечно же, будет как рыба в воде, а в моём на 10 строк тут же запутается

Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 20:53:59
a5021
[uquote="Аlex",url="/forum/viewtopic.php?p=3509041#p3509041"]Странно как-то. Человек использует "плюсы", модульность, ... А его говном облили.
Что за люди ...

[/uquote]
За то, что на чисто Си-шный вопрос он ответил каким-то плюсовым суржиком в запутанной форме ? Вот сволочи!
Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 21:00:08
Аlex
Даже и не знаю, что в этом примере вас Муриком могло запутать

Re: Stm32 с чего начать изучение...
Добавлено: Вт ноя 20, 2018 21:02:23
Мурик
Досик, если код предложенный
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++);
}
}