STM32CubeIDE使用笔记


STM32时钟源(HSI/HSE/LSI/LSE/PLL)

  1. HSI 是高速内部时钟,RC振荡器,频率为8MHz;
  2. HSE 是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz
  3. LSI 是低速内部时钟,RC振荡器,频率为40kHz;
  4. LSE 是低速外部时钟,接频率为32.768kHz的石英晶体;
  5. PLL 为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

注意:
其中40kHz的LSI(低速内部时钟)供独立看门狗IWDG使用,另外它还可以被选择为实时时钟RTC的时钟源。另外,实时时钟RTC的时钟源还可以选择LSE(低速外部时钟),或者是HSE(高速外部时钟)的128分频。RTC的时钟源通过RTCSEL[1:0]来选择。

SYSCLK时钟

SYSCLK系统时钟最大频率为72MHz,它是供STM32中绝大部分部件工作的时钟源;

  1. 送给AHB总线、内核、内存和DMA使用的HCLK时钟;
  2. 分频后送给STM32芯片的系统定时器时钟(Systick=Sysclk/8=9Mhz),直接调用 void sysTickTimerInit ( void ) 选择时钟源 SysTick_CLKSourceConfig ( SysTick_CLKSource_HCLK_Div8 ) 即可使能;
  3. 直接送给Cortex的自由运行时钟(free running clock)FCLK。【注:FCLK 为处理器的自由振荡的处理器时钟,用来采样中断和为调试模块计时。在处理器休眠时,通过FCLK 保证可以采样到中断和跟踪休眠事件。 Cortex-M3内核的“自由运行时钟(free running clock)”FCLK。“自由”表现在它不来自系统时钟HCLK,因此在系统时钟停止时FCLK 也继续运行。FCLK和HCLK 互相同步。FCLK 是一个自由振荡的HCLK。FCLK 和HCLK 应该互相平衡,保证进入Cortex-M3 时的延迟相同。】;
  4. 送给APB1分频器。APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可选择1或者2倍频,时钟输出供定时器2、3、4使用;
  5. 送给APB2分频器。APB2分频器可选择1、2、4、8、16分频, 其输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或者2倍频,时钟输出 供定时器1使用。另外,APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选择为2、4、6、8分频;

备注:

  • FCLK为供给CPU内核的时钟信号,我们所说的cpu主频为XXXXMHz,就是指的这个时钟信号,相应的,1/Fclk即为cpu时钟周期
  • HCLK为优秀的高性能总线(AHB bus peripherals)供给时钟信号(AHB为advanced high-performance bus);HCLK :AHB总线时钟,由系统时钟SYSCLK 分频得到,一般不分频,等于系统时钟,HCLK是高速外设时钟,是给外部设备的,比如内存,flash
  • PCLK为优秀的高性能外设总线(APB bus peripherals)供给时钟信号(其中APB为advanced peripherals bus);

总线—APB和AHB

  • APB Advanced Peripheral Bus的缩写,这是一种外围总线;

APB1总线外设

  • 定时器TIM2到TIM7;
  • RTC;
  • WDT看门狗;
  • SPI2 、SPI3;
  • USART2、USART3;
  • UART4、UART5;
  • I2C1,I2C2;
  • USB./CAN共享的512字节SRAM;
  • bXCAN1、bXCAN2;
  • 后备寄存器BKP;
  • 电源控制PWR;
  • DAC

APB2总线外设

  • USART1;
  • 高级控制定时器TIM1和TIM8;
  • 模数转换器ADC1、ADC2、ADC3;
  • SPI1;
  • 外部中断EXTI;
  • 复用IO,AFIO;
  • 通用IO:GPIOA~G;

AHB外设

  • AHB Advanced High performance Bus的缩写,译作高级高性能总线,这是一种“系统总线”。

  • Flash 存储器;

  • DMA;

  • 复位和时钟控制;

  • CRC;

  • 以太网;

  • SDIO;

串口

  • USART1 串口模式
模式 说明
Sigle Wire(Half-Duplex) 半双工
Asynchronous 异步
synchronous 同步
SmartCard 智能卡
lrDA 红外线数据协会) SIR ENDEC 规范
LIN 支持局域互连网络
Multiprocessor Communication 多机串口通信

CubeIDE Debug设置

  1. 设置调试器(这里以ST-LINK为例子)
    upload successful
  2. 出现以下提示,需要下载对应的ST-Link Server
    upload successful
  3. 升级ST-Link 固件
    upload successful
    upload successful
    upload successful
  4. 设置SW 调试引脚,不然不能在线调试(这个细节我被坑了┭┮﹏┭┮)
    upload successful

参考


文章作者: Alex.Lin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex.Lin !
  目录