Вт ноя 20, 2018 18:17:08
Вт ноя 20, 2018 18:42:18
Вт ноя 20, 2018 19:22:11
По той ссылке что я дал, есть несколько прошивок. Проверяли их?Nicochip писал(а):у меня точно такая же плата
Вт ноя 20, 2018 19:43:39
Вт ноя 20, 2018 19:49:27
Вт ноя 20, 2018 20:07:20
Зажжется. У него катод на PC13.
Вт ноя 20, 2018 20:16:33
Все, кроме startup_stm32f10x_md.s и stm32f10x.h.VladislavS писал(а):Что там нестандартного?
Вт ноя 20, 2018 20:22:42
Вт ноя 20, 2018 20:24:30
Вт ноя 20, 2018 20:26:57
Вт ноя 20, 2018 20:28:09
В месте cpp.VladislavS писал(а):Поехали дальше. main в каком месте нестандартный?
В том что он должен быть в стандартном файле system_stm32f10x.c от ST и иметь совсем другой код.VladislavS писал(а):SystemInit, вызываемый из стандартного стартапа, в каком месте нестандартный?
Вт ноя 20, 2018 20:30:11
Вт ноя 20, 2018 20:31:42
Вт ноя 20, 2018 20:33:17
Вт ноя 20, 2018 20:41:08
Вт ноя 20, 2018 20:41:44
Вт ноя 20, 2018 20:53:02
Вт ноя 20, 2018 20:53:59
Вт ноя 20, 2018 21:00:08
Вт ноя 20, 2018 21:02:23
Алекс, я выше написал почему этот код не годится для новичков и дело вовсе не в C++. О какой модульности вы пишите непонятно.Аlex писал(а):Что за люди
Каким образом в вашем коде настраивается тактирование МК?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++);
}
}