1. 3 дня назад переполз с 8-битных МК на STM32.
2. Использую демоплату MB913 C-01 с STM32F100RBT6B. Программу пишу в Кокосе.
3. Пытаюсь дрыгать ногой GPIO с максимально возможной частотой.
4. Для этого
4.1. в main.c написал вот
4.2. в system_stm32f10x.c играл делителем и множителем тут
5. Иногда загонял ядро частотой, но в целом получал красивенькие меандры.
6. И вдруг. При установке делителя в п.4.1.
на 16 получал частоту 0,75 МГц
на 8 - 1,5 МГц
на 4 - 3 МГц
на 2 - 4(!!!) МГц
на 1 - 4(!!!) МГц
Так же строка PORT.GPIO_Speed = GPIO_Speed_50MHz почему-то ни на что не влияла, хоть ставил ее в 2MHz, хоть в 10MHz, хоть в 50MHz.
7. День пролетел незаметно. Вчерашний. И сегодняшний. Гугол как-будто что то знает, но хитро ухмыляясь старается говорить больше о погоде.
8. Хочу 12 МГц на ноге. Возможно?
Раздел: STM32
2. Использую демоплату MB913 C-01 с STM32F100RBT6B. Программу пишу в Кокосе.
3. Пытаюсь дрыгать ногой GPIO с максимально возможной частотой.
4. Для этого
4.1. в main.c написал вот
int main(void) {
GPIO_InitTypeDef PORT;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC , ENABLE);
PORT.GPIO_Pin = (GPIO_Pin_11);
PORT.GPIO_Mode = GPIO_Mode_Out_PP;
PORT.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init( GPIOC , &PORT);[/size]
[size=4] RCC->CFGR &=~RCC_CFGR_HPRE; // предочистка
RCC->CFGR |= RCC_CFGR_HPRE_DIV1; //[/size]
[size=4] RCC->CFGR &=~RCC_CFGR_PPRE2; // предочистка
RCC->CFGR |= RCC_CFGR_PPRE2_DIV1; // <------ играл делителем тут[/size]
[size=4]for(;;) {
GPIOC->ODR = 0xFFFF;
GPIOC->ODR = 0x0000;
}
return 0;
};
4.2. в system_stm32f10x.c играл делителем и множителем тут
#elif defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)
/* PLL configuration: = (HSE / 2) * 6 = 24 MHz */
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | RCC_CFGR_PLLMULL));
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_PREDIV1 | RCC_CFGR_PLLXTPRE_PREDIV1 | RCC_CFGR_PLLMULL6);// <------ играл делителем и множителем тут
5. Иногда загонял ядро частотой, но в целом получал красивенькие меандры.
6. И вдруг. При установке делителя в п.4.1.
на 16 получал частоту 0,75 МГц
на 8 - 1,5 МГц
на 4 - 3 МГц
на 2 - 4(!!!) МГц
на 1 - 4(!!!) МГц
Так же строка PORT.GPIO_Speed = GPIO_Speed_50MHz почему-то ни на что не влияла, хоть ставил ее в 2MHz, хоть в 10MHz, хоть в 50MHz.
7. День пролетел незаметно. Вчерашний. И сегодняшний. Гугол как-будто что то знает, но хитро ухмыляясь старается говорить больше о погоде.
8. Хочу 12 МГц на ноге. Возможно?
Раздел: STM32