-
- Можно накатать мигалку на 1 секунду расчетную, залить+запустить F8, замерять секундомером, провести обратный перерасчет... - Vit(06.11.2013 23:12)
- Уже понял, что без подключенного Леонид Иванович(1688 знак., 06.11.2013 23:45)
- Не мусор. Видна конкретная настройка. Просто примите как данность содержимое "system_stm32f10x.c" и не редактируйте его. Получите работоспособный проц с тактированием HSI. Почитайте "reference manual" и напишите код в начале main(), активирующий _keil(97 знак., 06.11.2013 23:54)
- Написал вот такое включение PLL: Леонид Иванович(1005 знак., 07.11.2013 01:03)
- Прикольно, если PLL тактирую от HSE когда вынимаю кварц - LED начинает мигать медленно. Вставляю обратно - снова мигает быстро. Кто это так делает? В софте ничего такого нет. Шайтан. - Леонид Иванович(07.11.2013 01:55)
- Во многих МК есть Clock Failure Monitor, переключающий тактирование на встроенный RC-генератор при потере внешнего клока. В dsPIC/PIC24 он активирован по умолчанию, а отключается либо программно, либо конфигурационным фузом. Про STM я не в курсе - MBedder(07.11.2013 03:13)
- Clock security system (CSS) его фамилие. plainuser(133 знак., 07.11.2013 13:06)
- Ну я же говорил - вон мужик в пиджаке, а вот дерево!(с) :)) - MBedder(07.11.2013 18:05)
- Clock security system (CSS) его фамилие. plainuser(133 знак., 07.11.2013 13:06)
- Во многих МК есть Clock Failure Monitor, переключающий тактирование на встроенный RC-генератор при потере внешнего клока. В dsPIC/PIC24 он активирован по умолчанию, а отключается либо программно, либо конфигурационным фузом. Про STM я не в курсе - MBedder(07.11.2013 03:13)
- Прикольно, если PLL тактирую от HSE когда вынимаю кварц - LED начинает мигать медленно. Вставляю обратно - снова мигает быстро. Кто это так делает? В софте ничего такого нет. Шайтан. - Леонид Иванович(07.11.2013 01:55)
- Написал вот такое включение PLL: Леонид Иванович(1005 знак., 07.11.2013 01:03)
- Я ж написал как выкинуть:) - Vit(06.11.2013 23:51, ссылка)
- там для разных МК. Большая часть из этого не компилируется для выбранного типа МК. Кое-что из того, что компилируется, но не используется, может не линковаться - koyodza(06.11.2013 23:47)
- Не мусор. Видна конкретная настройка. Просто примите как данность содержимое "system_stm32f10x.c" и не редактируйте его. Получите работоспособный проц с тактированием HSI. Почитайте "reference manual" и напишите код в начале main(), активирующий _keil(97 знак., 06.11.2013 23:54)
- Уже понял, что без подключенного Леонид Иванович(1688 знак., 06.11.2013 23:45)
- Если речь о stm32f100c4, то hsi 8 MHz. Нужно больше? Включите PLL. Почитайте официальный даташит, там описаны RCC->CFGR и RCC->CR - Keil(06.11.2013 22:36, )
- Два пути - писать свой init() или пользоваться API от st. Главное - не забывайте включать тактирование перед настройкой. Например, RCC->APB1ENR|=RCC_APB1ENR_PWREN; - Keil(06.11.2013 22:31, )
- это вопрос типа как надо делать: красиво или быстро. Каждый делает по-своему koyodza(1125 знак., 06.11.2013 22:08 - 22:15)
- А что делать при неудачном включении тактирования? - Леонид Иванович(07.11.2013 00:03)
- Уж точно не подключать внешний генератор и перешивать фьюзы! Достаточно ресет и убрать неудачный код. Снова получите голый HSI - _keil(07.11.2013 00:19)
- это от функционала прибора зависит. Если Вы о БП, то там можно работать от HSI на 8МГц и вообще не трогать тактирование. Для работы UART кварц не нужен, стабильности внутреннего генератора достаточно koyodza(136 знак., 07.11.2013 00:06)
- Если PLL тактировать от HSI, тогда, вроде, достаточно этого: Леонид Иванович(461 знак., 07.11.2013 01:35)
- Только я бы писал CFGR = (CFGR & ~CFGR_SW) | CFGR_SW_PLL; Так биты SW в регистре CFGR не будут кратковременно сброшены в 0. В данном случае это ничем не грозит, но вообще говоря может стать источником проблемы. - йцукен(07.11.2013 20:22, )
- Можно подробнее, почему в этом случае не грозит, и в других случаях будут проблемы? - Леонид Иванович(07.11.2013 22:44)
- Ну представьте, что вы собирались перейти с HSE на PLL, при этом первой строчкой временно перешли на HSI, а он выключен. Тогда ядро остановится, и до второй строчки дело не дойдёт. В данном случае это мнимая угроза, потому что, если я правильно йцукен(268 знак., 08.11.2013 13:13, )
- В кратковременном переключении на HSI ничего страшного не вижу. Но если Вы решите выполнить полный код более одного раза, возникнет коллизия - PLL уже используется, а Вы принудительно ей пытаетесь поменять множитель. Пусть и кратковременно. - _keil(08.11.2013 05:00)
- Можно подробнее, почему в этом случае не грозит, и в других случаях будут проблемы? - Леонид Иванович(07.11.2013 22:44)
- Понимаю while(77){} - оно специально для посмеяться при чтении, а вот (xxx == 0) под while ненавижу - Vit(07.11.2013 01:52)
- (xxx == 0) гораздо нагляднее, чем (!xxx), хоть и длиннее. - Леонид Иванович(07.11.2013 02:14)
- Это не C# с жесткой типизацией. Никак не нагляднее - просто выпендрёж, но заставляет сломать моск к концу чтения. Ничего личного. Vit(328 знак., 07.11.2013 08:50 - 09:06)
- Никогда не напишу a.b = !!(xxx);, ибо if(xxx) a.b = 1; else a.b = 0; наглядней. Первое - действительно выпендрёжь. - Леонид Иванович(07.11.2013 12:50)
- Для таких вещей можно использовать тернарную условную операцию Ruslan(27 знак., 07.11.2013 16:16)
- Часто использую. Хотя if читабельней. - Леонид Иванович(07.11.2013 16:23)
- false == 0. while((x&y)==false){} это песец моску. конструкция, вызывающая рвотный рефлекс - Vit(07.11.2013 15:32)
- Для таких вещей можно использовать тернарную условную операцию Ruslan(27 знак., 07.11.2013 16:16)
- Никогда не напишу a.b = !!(xxx);, ибо if(xxx) a.b = 1; else a.b = 0; наглядней. Первое - действительно выпендрёжь. - Леонид Иванович(07.11.2013 12:50)
- Это не C# с жесткой типизацией. Никак не нагляднее - просто выпендрёж, но заставляет сломать моск к концу чтения. Ничего личного. Vit(328 знак., 07.11.2013 08:50 - 09:06)
- (xxx == 0) гораздо нагляднее, чем (!xxx), хоть и длиннее. - Леонид Иванович(07.11.2013 02:14)
- Только я бы писал CFGR = (CFGR & ~CFGR_SW) | CFGR_SW_PLL; Так биты SW в регистре CFGR не будут кратковременно сброшены в 0. В данном случае это ничем не грозит, но вообще говоря может стать источником проблемы. - йцукен(07.11.2013 20:22, )
- Если PLL тактировать от HSI, тогда, вроде, достаточно этого: Леонид Иванович(461 знак., 07.11.2013 01:35)
- А что делать при неудачном включении тактирования? - Леонид Иванович(07.11.2013 00:03)
- Можно накатать мигалку на 1 секунду расчетную, залить+запустить F8, замерять секундомером, провести обратный перерасчет... - Vit(06.11.2013 23:12)