Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.79/19: Рейтинг темы: голосов - 19, средняя оценка - 4.79
897 / 658 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
1

Плата STM32 F4 Discovery. Не работает при включении внешнего резонатора

23.03.2017, 00:14. Просмотров 3436. Ответов 32
Метки нет (Все метки)

Плата STM32 F4 Discovery.
В CubeMX создаю проект и выбираю в RCC режим HSE (внешнее тактирование) и в нем выбираю керамический резонатор. Так же выбираю 13 ножку порта D работающую на выход.
Затем, генерирую в Cube код, открываю проект в Keil 5 и пишу включение светодиода, который в Discovery сидит на 13 ножке порта D.
C
1
 HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET);
Собираю проект, заливаю, запускаю - светодиод не загорелся.

Потом, делаю все тоже самое, но в Cube вместо внешнего тактирования HSE возвращаю тактирование от внутреннего источника HSI (стоит по умолчанию при создании проекта в Cube).
Светодиод на плате загорается.
Что не так? Подскажите.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2017, 00:14
Ответы с готовыми решениями:

Плата STM32 F4 Discovery. Питание
Разбирался с питанием платы. Поправьте если не так. Ножки: ножка 5в - тут можно подключить...

Ошибка при подключении платы STM32 f4 discovery
Open On-Chip Debugger 0.8.0 (2015-10-13-14:08) Licensed under GNU GPL v2 For bug reports, read...

16MHz без внешнего резонатора на ATtiny85
Видел где-то скрипт выставляющий на контроллере 16MHz без задействования фьюзов и ног для...

Atmega328 подключение внешнего кварцевого резонатора на 16 МГц- нет отображения
Вынужден обратиться с вопросом! Несколько дней пытаюсь сцепить вместе Atmega328, n5110, 16MHz....

32
Модератор
Эксперт по электронике
8229 / 6096 / 814
Регистрация: 14.02.2011
Сообщений: 21,169
23.03.2017, 04:27 2
Цитата Сообщение от Евгений В Посмотреть сообщение
Что не так? Подскажите.
как то трудно сказать
приведи скриншоты окон настройки ножек и настройки тактирования или файл кубика
0
897 / 658 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
23.03.2017, 08:17  [ТС] 3
Цитата Сообщение от ValeryS Посмотреть сообщение
приведи скриншоты окон настройки ножек и настройки тактирования или файл кубика
Вот сам код
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
#include "main.h"
#include "stm32f4xx_hal.h"
 
/* USER CODE BEGIN Includes */
 
/* USER CODE END Includes */
 
/* Private variables ---------------------------------------------------------*/
 
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
 
/* USER CODE END PV */
 
/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
void Error_Handler(void);
static void MX_GPIO_Init(void);
 
/* USER CODE BEGIN PFP */
/* Private function prototypes -----------------------------------------------*/
 
/* USER CODE END PFP */
 
/* USER CODE BEGIN 0 */
 
/* USER CODE END 0 */
 
int main(void)
{
 
  /* USER CODE BEGIN 1 */
 
  /* USER CODE END 1 */
 
  /* MCU Configuration----------------------------------------------------------*/
 
  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
 
  /* Configure the system clock */
  SystemClock_Config();
 
  /* Initialize all configured peripherals */
  MX_GPIO_Init();
 
  /* USER CODE BEGIN 2 */
 
  /* USER CODE END 2 */
 
  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */
 
  /* USER CODE BEGIN 3 */
 
    HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_SET);
  }
  /* USER CODE END 3 */
 
}
 
/** System Clock Configuration
*/
void SystemClock_Config(void)
{
 
  RCC_OscInitTypeDef RCC_OscInitStruct;
  RCC_ClkInitTypeDef RCC_ClkInitStruct;
 
    /**Configure the main internal regulator output voltage 
    */
  __HAL_RCC_PWR_CLK_ENABLE();
 
  __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1);
 
    /**Initializes the CPU, AHB and APB busses clocks 
    */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE;
  RCC_OscInitStruct.HSEState = RCC_HSE_ON;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
  RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
  RCC_OscInitStruct.PLL.PLLM = 8;
  RCC_OscInitStruct.PLL.PLLN = 336;
  RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
  RCC_OscInitStruct.PLL.PLLQ = 4;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
 
    /**Initializes the CPU, AHB and APB busses clocks 
    */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV8;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV8;
 
  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_5) != HAL_OK)
  {
    Error_Handler();
  }
 
    /**Configure the Systick interrupt time 
    */
  HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/8000);
 
    /**Configure the Systick 
    */
  HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK_DIV8);
 
  /* SysTick_IRQn interrupt configuration */
  HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}
 
/** Configure pins as 
        * Analog 
        * Input 
        * Output
        * EVENT_OUT
        * EXTI
*/
static void MX_GPIO_Init(void)
{
 
  GPIO_InitTypeDef GPIO_InitStruct;
 
  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOH_CLK_ENABLE();
  __HAL_RCC_GPIOD_CLK_ENABLE();
 
  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOD, GPIO_PIN_13, GPIO_PIN_RESET);
 
  /*Configure GPIO pin : PD13 */
  GPIO_InitStruct.Pin = GPIO_PIN_13;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
 
}
 
/* USER CODE BEGIN 4 */
 
/* USER CODE END 4 */
 
/**
  * @brief  This function is executed in case of error occurrence.
  * @param  None
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler */
  /* User can add his own implementation to report the HAL error return state */
  while(1) 
  {
  }
  /* USER CODE END Error_Handler */ 
}
 
#ifdef USE_FULL_ASSERT
 
/**
   * @brief Reports the name of the source file and the source line number
   * where the assert_param error has occurred.
   * @param file: pointer to the source file name
   * @param line: assert_param error line source number
   * @retval None
   */
void assert_failed(uint8_t* file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
    ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
  /* USER CODE END 6 */
 
}
0
Миниатюры
Плата STM32 F4 Discovery. Не работает при включении внешнего резонатора   Плата STM32 F4 Discovery. Не работает при включении внешнего резонатора   Плата STM32 F4 Discovery. Не работает при включении внешнего резонатора  

1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
23.03.2017, 08:22 4
Цитата Сообщение от Евгений В Посмотреть сообщение
Плата STM32 F4 Discovery
Не знаю как там на дискавери, а у меня на нуклео F7 кварца не было с завода, хотя посадочное место было.
А отладчик почему не включен?
0
897 / 658 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
23.03.2017, 08:26  [ТС] 5
Цитата Сообщение от Витальич Посмотреть сообщение
там на дискавери
на дискавери кварц есть.
Цитата Сообщение от Витальич Посмотреть сообщение
А отладчик почему не включен?
Подскажите, где не включено?
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
23.03.2017, 08:29 6
Приеду на работу скину скриншот, а то дома еще ничего не поставил.
1
897 / 658 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
23.03.2017, 08:31  [ТС] 7
Спасибо.
Но ведь от внутреннего тактирования все работает. Может ли быть брак в плате?
0
Модератор
Эксперт по электронике
8229 / 6096 / 814
Регистрация: 14.02.2011
Сообщений: 21,169
23.03.2017, 09:37 8
Евгений В, у меня все работает вот на всякий случай мой файл кубика
правда я взял за основу не голый процессор а плату дискавери
1
Вложения
Тип файла: zip test1.zip (2.4 Кб, 4 просмотров)
Модератор
Эксперт по электронике
8229 / 6096 / 814
Регистрация: 14.02.2011
Сообщений: 21,169
23.03.2017, 09:51 9
Цитата Сообщение от Евгений В Посмотреть сообщение
Подскажите, где не включено?
ножки PA13 PA14 включается в вкладке sys debug-serial wire
Цитата Сообщение от Евгений В Посмотреть сообщение
Может ли быть брак в плате?
может
рядом с кварцем должны стоять 2 резистора, у меня имеют значение 0 и 220 Ом
1
897 / 658 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
23.03.2017, 10:09  [ТС] 10
ValeryS,

Цитата Сообщение от ValeryS Посмотреть сообщение
всякий случай мой файл кубика
Не могу собрать проект в Кейле. Пишет кучу ошибок, например: system_stm32f4xx.d No such FILE or directory

Не могли бы вы скинуть простенький работающий проект в Кейле 5?
Попробовал бы залить и проверить у себя.

Добавлено через 9 минут
Цитата Сообщение от ValeryS Посмотреть сообщение
рядом с кварцем должны стоять 2 резистора, у меня имеют значение 0 и 220 Ом
Какими номерами они на плате обозначены?
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
23.03.2017, 10:20 11
1. Какая именно у Вас дискавери, у меня кубик 8 штук предлагает под F4?
2. У Вас именно кварц стоит, я встречал варианты с генератором, а с ним по другому надо настраивать.
3. Осциллографом не пробовали генерацию посмотреть?
1
Модератор
Эксперт по электронике
8229 / 6096 / 814
Регистрация: 14.02.2011
Сообщений: 21,169
23.03.2017, 10:31 12
Цитата Сообщение от Евгений В Посмотреть сообщение
system_stm32f4xx.d
я генерил для четверки
зайди в настройки и поменяй для пятерки
Цитата Сообщение от Евгений В Посмотреть сообщение
Не могли бы вы скинуть простенький работающий проект в Кейле 5?
Ну нету у меня её
Цитата Сообщение от Витальич Посмотреть сообщение
Какая именно у Вас дискавери, у меня кубик 8 штук предлагает под F4
как я понял STM32F4DISCOVERY
процессор STM32F407VGTx
Цитата Сообщение от Евгений В Посмотреть сообщение
Какими номерами они на плате обозначены?
R24 220 Ом R25 0 Ом

Добавлено через 2 минуты
вот здесь я выкладывал документацию и примеры для F4 Документация к stm32F4Discovery
авось поможет
1
897 / 658 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
23.03.2017, 10:37  [ТС] 13
Цитата Сообщение от Витальич Посмотреть сообщение
1. Какая именно у Вас дискавери, у меня кубик 8 штук предлагает под F4?
На фото видно - STM32F407VGTx

Цитата Сообщение от Витальич Посмотреть сообщение
2. У Вас именно кварц стоит, я встречал варианты с генератором, а с ним по другому надо настраивать.
В разных видеоуроках на этой плате от внешнего генератора все запускается. У меня нет.

Добавлено через 4 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
R24 220 Ом R25 0 Ом
Так же.
0
Модератор
Эксперт по электронике
8229 / 6096 / 814
Регистрация: 14.02.2011
Сообщений: 21,169
23.03.2017, 10:42 14
Цитата Сообщение от Евгений В Посмотреть сообщение
Так же.
тогда нужно прозванивать, не коротят ли на землю, нет ли обрывов ну и как сказал Виталич
Цитата Сообщение от Витальич Посмотреть сообщение
Осциллографом не пробовали генерацию посмотреть?
1
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
23.03.2017, 11:46 15
Цитата Сообщение от Евгений В Посмотреть сообщение
На фото видно - STM32F407VGTx
а их два
0
Миниатюры
Плата STM32 F4 Discovery. Не работает при включении внешнего резонатора  
Модератор
Эксперт по электронике
8229 / 6096 / 814
Регистрация: 14.02.2011
Сообщений: 21,169
23.03.2017, 12:01 16
Витальич, третий сверху
0
897 / 658 / 132
Регистрация: 01.03.2010
Сообщений: 1,243
23.03.2017, 13:56  [ТС] 17
Цитата Сообщение от Витальич Посмотреть сообщение
а их два
Всякие перепробовал. Толку нет
0
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
23.03.2017, 14:07 18
Цитата Сообщение от Витальич Посмотреть сообщение
Осциллографом не пробовали генерацию посмотреть?
???
0
823 / 501 / 164
Регистрация: 30.07.2015
Сообщений: 1,655
23.03.2017, 16:40 19
Евгений В, ты пробовал отладчиком посмотреть? Мб в каком цикле застревает после инициализации RCC
1
1279 / 1185 / 175
Регистрация: 02.12.2013
Сообщений: 4,886
23.03.2017, 17:02 20
Хорошая мысль. Сразу станет понятно МК идентифицирует, что кварца нет или ....
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2017, 17:02

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

STM32-Discovery и бутлоадер
В общем попал я на необитаемый островв глушь далеко от рабочего места. Под рукой только испорченная...

Утонул с Stm32 f4 discovery
купил сию платку, воткнул в windows 7 x64, а он ее не видит, соотвественно и keil тоже ее не видит....

Выбор STM32-DISCOVERY
Всем привет. Хочу заказать плату для начинающих с STM32. Остановил свой выбор на 1)...

STM32 Discovery + RC5
Хай всем :) Пробую запустить библиотеку от ST на дискавери, по немногу продвигался и даже чтото...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.