驱动sw2812全彩led灯颜 {MOD}不准的问题

2019-07-20 22:07发布

我是使用DMA,PWM来控制ws2812的,程序实在论坛里找来的不过已经被我改成寄存器控制室的了,
现在ws2812显示的颜 {MOD}不准,问题出函数
  1. void delay_init()
  2. {
  3.   SysTick->CTRL&=~(1<<2);
  4.   fac_us=SystemCoreClock/8;
  5.   fac_ms=(u16)fac_us*1000;
  6. }
复制代码这样时程序没问题,但只要将    SystemCoreClock    改成    72000000    就会出错可是   SystemCoreClock    在system_stm32f10x.c   中SystemCoreClock    不就是被定义成  72000000    了吗
  1. <blockquote><blockquote><font color="#ff0000">#define SYSCLK_FREQ_72MHz  72000000</font>
复制代码

我这样改与之前有什么不同吗?
拜托各位大神帮我看看了~~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
厄尔尼诺
2019-07-21 00:24
代码粘的有点问题,再补一下
这是在    system_stm32f10x.c   中,关于   SystemCoreClock   的定义

#define SYSCLK_FREQ_72MHz  72000000
#endif

  1. #ifdef SYSCLK_FREQ_HSE
  2.   uint32_t SystemCoreClock         = SYSCLK_FREQ_HSE;        /*!< System Clock Frequency (Core Clock) */
  3. #elif defined SYSCLK_FREQ_24MHz
  4.   uint32_t SystemCoreClock         = SYSCLK_FREQ_24MHz;        /*!< System Clock Frequency (Core Clock) */
  5. #elif defined SYSCLK_FREQ_36MHz
  6.   uint32_t SystemCoreClock         = SYSCLK_FREQ_36MHz;        /*!< System Clock Frequency (Core Clock) */
  7. #elif defined SYSCLK_FREQ_48MHz
  8.   uint32_t SystemCoreClock         = SYSCLK_FREQ_48MHz;        /*!< System Clock Frequency (Core Clock) */
  9. #elif defined SYSCLK_FREQ_56MHz
  10.   uint32_t SystemCoreClock         = SYSCLK_FREQ_56MHz;        /*!< System Clock Frequency (Core Clock) */
  11. #elif defined SYSCLK_FREQ_72MHz
  12.   uint32_t SystemCoreClock         = SYSCLK_FREQ_72MHz;        /*!< System Clock Frequency (Core Clock) */
  13. #else /*!< HSI Selected as System Clock source */
  14.   uint32_t SystemCoreClock         = HSI_VALUE;        /*!< System Clock Frequency (Core Clock) */
  15. #endif
复制代码

一周热门 更多>