Форум РадиоКот https://radiokot.ru/forum/ |
|
STM32F103C8T6 и тактирование от внешнего кварца 12МГц https://radiokot.ru/forum/viewtopic.php?f=59&t=143832 |
Страница 1 из 6 |
Автор: | prinv [ Сб апр 01, 2017 06:04:57 ] | ||
Заголовок сообщения: | STM32F103C8T6 и тактирование от внешнего кварца 12МГц | ||
Коллеги, подскажите: разбираюсь с STM32F103C8T6 от Pinboard в Qube+Keil5 Тактирование процессора работает только от HSI RC 8 Мгц. Стоит переключить System Clock Mux на HSE 12Мгц или на PLLCLK - всё, тишина, камень мёртвый без признаков жизни. Причем если на MCO выводить HSE при тактировании от HSI, то всё нормально - сигнал 12 Мгц идёт. Где я туплю?
|
Автор: | bolek [ Сб апр 01, 2017 12:52:08 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
prinv писал(а): Стоит переключить System Clock Mux на HSE 12Мгц или на PLLCLK - всё, тишина, камень мёртвый без признаков жизни. Странная конфигурация. Возможно, кварц дохлый или низкоактивный, не работает в генераторе при 3,3 Попробуй сменить кварц на обычные 8 МГц. Частоту на MCO мерил? Осциллограмма есть? |
Автор: | prinv [ Сб апр 01, 2017 13:20:45 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Да, осциллограмма с кварца на MCO такая же как и с внутреннего RC генератора, только 12 МГц. Если бы кварц на 3.3 вольта не работал, то и "синусоиды" на MCO не было. |
Автор: | bolek [ Сб апр 01, 2017 15:48:50 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
А при переключении System Clock Mux на HSE, на MCO тоже есть 12 МГц? |
Автор: | prinv [ Сб апр 01, 2017 16:00:57 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Увы. Стоит изменить System Clock Mux на HSE и всё перестаёт работать. Ссылка на проект |
Автор: | bolek [ Сб апр 01, 2017 16:06:28 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Тогда поcмотри еще на тему CSS: если кварц генерит нестабильно, CSS генерит NMI, а его нельзя сбросить, не обработав. Вот программа и висит. Попробуй в нициализации МК запретить включение работы CSS при тактировании от HSE. P.S. Вот ей-ей, мне было бы проще и быстрее перепаять кварц... |
Автор: | prinv [ Сб апр 01, 2017 16:08:20 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
CSS не разрешено Так идёт же генерация HSE на MCO при тактировании от HSI RC. Можно, конечно, и перепаять... |
Автор: | bolek [ Сб апр 01, 2017 16:36:57 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Мой Cube устарел, не открывает твой проект, нужно обновлять... |
Автор: | prinv [ Сб апр 01, 2017 16:39:16 ] | ||
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц | ||
У меня вот такой Куб
|
Автор: | bolek [ Сб апр 01, 2017 16:41:20 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Да уже грузится, только неспешно. Сегодня, наверное уже не успею. |
Автор: | prinv [ Сб апр 01, 2017 17:16:54 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Я попробовал всё тоже самое, но только на плате stm32-discovery - такой же результат. Видимо или я где-то туплю, или Cube какую-то околесицу генерирует. |
Автор: | bolek [ Сб апр 01, 2017 17:27:23 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Открыл твой сгенерированный код, добавил мигание светодиодом на PC13 на китайской мелкой платке (см. main.c) - мигает. http://rgho.st/7yMf7Wpr9 Сгенерил в кубе на скорую руку проект с тактированием от HSE, добавил мигание светодиодом - тоже работает. http://rgho.st/8dzjLsbvL P.S. У меня установлен куб 4.18 Вложение:
|
Автор: | prinv [ Сб апр 01, 2017 17:29:50 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
В общем, Cube выдаёт вот такое при выборе HSE для System Clock Mux Код: RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE; Если ручками изменить строку на Код: RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; то всё начинает работать. |
Автор: | bolek [ Сб апр 01, 2017 17:36:41 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Да, у меня куб 4.18 сгенерил Код: RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE; Но в твоем проекте я эту строку не менял, однако тоже работает. P.S. Сравни твой main и мой из сгенерированного P1 - там различий гораздо больше, не только эта одна строка. |
Автор: | prinv [ Сб апр 01, 2017 17:43:52 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Какая-то ахинея, в код Cube добавляю строку Код: RCC_OscInitStruct.HSIState = RCC_HSI_ON; и всё начинает работает. Да как так-то? ![]() Вот рабочая инициализация тактирования Код: RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI|RCC_OSCILLATORTYPE_HSE; RCC_OscInitStruct.HSEState = RCC_HSE_ON; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV2; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL4; На выходе MCO получаю SYSCLK c запланированной частотой 16 МГц |
Автор: | bolek [ Сб апр 01, 2017 17:50:08 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Смотри, в твоем коде есть строки, котрых нет в моем: Код: RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = 16; и отличия в строках Код: RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; у меня Код: RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSE; То ли в кубе в проекте что-то не то задано в настройках, то ли куб хрень нагенерил. На ixbt в 48 палате надо посмотреть, что-то там недавно было про ошибки куба. |
Автор: | prinv [ Сб апр 01, 2017 17:53:17 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Я же говорю, что строчку RCC_OscInitStruct.HSIState = RCC_HSI_ON вписал руками. При выборе OscillatorType указывается HSI, а сам HSI не включается. Если руками его включить (RCC_HSI_ON), то всё начинает работать. Так же всё начинает работать, если все упоминания о HSI убрать ручками. В общем, на Куб надейся, а сам не плошай. |
Автор: | bolek [ Сб апр 01, 2017 18:01:22 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Посмотрел на ixbt - там проблема другая, но тоже куб генерит не то. Что характерно - версия 4.20 как у тебя. А у меня обновление до 4.20 так и не загрузилось аж с трех попыток. Не судьба, видно, оставлю 4.18 ![]() |
Автор: | prinv [ Сб апр 01, 2017 18:27:33 ] |
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц |
Блин, только взялся за STM32 и тут такие косяки. Первый раз такое. Ни на AVR, ни на MSP430 такого не было ![]() |
Автор: | Мурик [ Сб апр 01, 2017 18:38:51 ] | ||
Заголовок сообщения: | Re: STM32F103C8T6 и тактирование от внешнего кварца 12МГц | ||
Зачем вам куб? Чем SPL не устроила?
|
Страница 1 из 6 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |