STMCU小助手
发布时间:2023-1-6 16:25
最近用STM32F1系列单片机做一个触摸屏USB鼠标,考虑不用外部晶振而使用STM32内部8MHz HSI RC作为时钟源。由于USB协议规定了48MHz 的USB时钟,故必须对HIS作PLL倍频处理后得到PLLCLK作为STSCLK时钟。时钟关系见如下STM32F1时钟树:
类比正点原子STM32F1寄存器版本使用外部晶振的时钟初始化函数,改动得到使用HSI作为时钟源,SYSCLK为48MHz的初始化代码:
其中MYRCC_DeInit()代码如下:
MY_NVIC_SetVectorTable()代码如下:
(1)使用时在main()函数中应写成:Stm32_Clock_Init(12),即8/2*12=48MHz. (2)为使delay_ms()等函数时钟准确,应在system_stm32f10x.c中将 (3)#define SYSCLK_FREQ_48MHz 48000000解除屏蔽 (4)同时要注意在USB时钟初始化函数中不再对PLL时钟分频。即时钟配置寄存器(RCC_CFGR)第22位应设置为1 (5)最后,内部时钟要想正确使用,需要在启动.s文件中屏蔽sysinit ———————————————— 版权声明:qhw5279 |
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
一个软件引起的 LSE 驱动不良的问题
STM32 GUI LTDC 最大像素时钟评估方法
STM32 Cordic 运算速度评估
全新OpenSTLinux 6.1版本发布
ST-LINK Utility介绍、下载、安装和使用教程
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
微信公众号
手机版