Вот, нарисовано, что систик делит частоту на 8. А фактически - не делит![/uquote]
Тут дело в том, что он может делить, а может и не делить. Это зависит от значения 2-го (считая от нуля) бита регистра SysTick->CTRL.
Если там 0, то делит, а если 1 , то нет...
Код: Выделить всё
typedef enum
{
SYSTICK_CLOCK_SOURCE_AHBCLK_DIV8 = ((uint32_t)0x00000000), /*!< systick clock source from core clock div8 */
SYSTICK_CLOCK_SOURCE_AHBCLK_NODIV = ((uint32_t)0x00000004) /*!< systick clock source from core clock */
} systick_clock_source_type;Код: Выделить всё
#define SysTick_CLKSource_HCLK_Div8 ((uint32_t)0xFFFFFFFB)
#define SysTick_CLKSource_HCLK ((uint32_t)0x00000004)
#define IS_SYSTICK_CLK_SOURCE(SOURCE) (((SOURCE) == SysTick_CLKSource_HCLK) || \
((SOURCE) == SysTick_CLKSource_HCLK_Div8))


