字字宫商

    1. stm32的时钟和can波特率的奇怪现象 3/5262 stm32/stm8 2012-12-07
      后来我自己写了个时钟配置程序,结果查看SYSCLK为72M,can波特率的配置按理论是125k,但实际上与分析仪要用250k才能通信,而且通信过程会出现丢失帧id的现象。代码如下: ============================ HSEStartUpStatus = RCC_WaitForHSEStartUp();         //如果外部晶振启动成功,则进行下一步操作         if (HSEStartUpStatus==SUCCESS)         {                 //设置HCLK(AHB时钟)                 RCC_HCLKConfig(RCC_SYSCLK_Div2);                 //PCLK1(APB1) = HCLK/2                 RCC_PCLK1Config(RCC_HCLK_Div2);                 //PCLK2(APB2) = HCLK                 RCC_PCLK2Config(RCC_HCLK_Div2);         //         RCC_HCLK_Div1                 //FLASH时序控制                 //推荐值:SYSCLK = 0~24MHz   Latency=0                 //        SYSCLK = 24~48MHz  Latency=1                 //        SYSCLK = 48~72MHz  Latency=2                 FLASH_SetLatency(FLASH_Latency_2);                 //开启FLASH预取指功能                 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);                 //PLL设置 (最大72MHz?)                RCC_PLLConfig(0x00010000, RCC_PLLMul_9);                           //  RCC_PLLConfig(0x00000000, RCC_PLLMul_9);                 //启动PLL                 RCC_PLLCmd(ENABLE);                 //等待PLL稳定                 while (RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);                 //系统时钟SYSCLK来自PLL输出                 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);                 //切换时钟后等待系统时钟稳定                 while (RCC_GetSYSCLKSource()!=0x08);

最近访客

< 1/1 >

统计信息

已有31人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:1

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言