stm8s cco标志从未设置

stm8s cco标志从未设置,c,microcontroller,stm8,C,Microcontroller,Stm8,我有一个discovery stm8s003k板,当我测试一个程序的cco能力时,cco似乎永远不会稳定,并且程序始终保持在线:while(CLK_GetFlagStatus(CLK_FLAG_CCORDY)==FALSE) 代码和更多详细说明 我用下面的代码对它进行了测试,我甚至为更低和更高的频率更改了预定标器,我也用外部水晶对它进行了检查(并更改了代码),但它仍然处于状态(CLK_GetFlagStatus(CLK_FLAG_CCORDY)=FALSE)永远 当我调试代码并在程序启用CCOE

我有一个discovery stm8s003k板,当我测试一个程序的cco能力时,cco似乎永远不会稳定,并且程序始终保持在线:
while(CLK_GetFlagStatus(CLK_FLAG_CCORDY)==FALSE)
代码和更多详细说明

我用下面的代码对它进行了测试,我甚至为更低和更高的频率更改了预定标器,我也用外部水晶对它进行了检查(并更改了代码),但它仍然处于
状态(CLK_GetFlagStatus(CLK_FLAG_CCORDY)=FALSE)永远

当我调试代码并在程序启用CCOEN位后在调试器环境中跳过时,输出将启动,频率为true。但两个标志CCORDYCCOBSY都保持设置状态(调试器中的CCOR=0x69),并且始终保持在while循环中。我的代码是:

#include "STM8S.h"
#define LED_pin                      GPIO_PIN_0
#define LED_port                     GPIOD

void setup(void);
void clock_setup(void);
void GPIO_setup(void);

void main(void)
{
  setup();
  GPIO_WriteLow(LED_port, LED_pin);
  while(TRUE){};
}

void setup(void)
{
  clock_setup();
  GPIO_setup();
}

void clock_setup(void)
{
  CLK_DeInit();
  CLK_HSECmd(DISABLE);
  CLK_LSICmd(DISABLE);
  CLK_HSICmd(ENABLE);

  while(CLK_GetFlagStatus(CLK_FLAG_HSIRDY) == FALSE);

  CLK_ClockSwitchCmd(ENABLE);
  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);
  CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV4);
  CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSI,
  DISABLE, CLK_CURRENTCLOCKSTATE_ENABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_I2C, DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_UART1, DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_AWU, DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_ADC, DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER2, DISABLE);
  CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER4, DISABLE);
  CLK_CCOConfig(CLK_OUTPUT_CPU);
  CLK_CCOCmd(ENABLE);

  while(CLK_GetFlagStatus(CLK_FLAG_CCORDY) == FALSE);
}

void GPIO_setup(void)
{                              
  GPIO_DeInit(LED_port);
  GPIO_Init(LED_port, LED_pin, GPIO_MODE_OUT_OD_HIZ_FAST);
}