- 95
- 0
- 约5.06千字
- 约 5页
- 2017-01-07 发布于江苏
- 举报
STM32时钟初始化函数SysInit详解
花了一天的时间,总算是了解了SystemInit()函数实现了哪些功能,初学STM32,,现记录如下(有理解错误的地方还请大侠指出):使用的是3.5的库,用的是STM32F107VC,开发环境RVMDK4.23我已经定义了STM32F10X_CL,SYSCLK_FREQ_72MHz函数调用顺序:startup_stm32f10x_cl.s(启动文件) → SystemInit() →?SetSysClock () → SetSysClockTo72()初始化时钟用到的RCC寄存器复位值:RCC_CR = 0x0000 xx83; RCC_CFGR = 0x0000 0000;RCC_CIR = 0x0000 0000; RCC_CFGR2 = 0x0000 0000;SystemInit()在调用 SetSysClock()之前RCC寄存器的值如下(都是一些与运算,或运算,在此就不赘述了):RCC-CR = 0x0000 0083;??RCC-CIR = 0x00FF0000; RCC-CFGR2 = 0至于这些寄存器都代表着什么意思,详见/?u=999芯片资料RCC寄存器,该文重点不在此处;SetSysClock()函数如下:static void SetSysClock(void){#ifdef SYSCLK_FREQ_HSE?SetSysClockToHSE();#elif defined SYSCLK_FREQ_24MHz?SetSysClockTo24();#elif defined SYSCLK_FREQ_36MHz?SetSysClockTo36();#elif defined SYSCLK_FREQ_48MHz?SetSysClockTo48();#elif defined SYSCLK_FREQ_56MHz?SetSysClockTo56();??#elif defined SYSCLK_FREQ_72MHz//我的定义的是SYSCLK_FREQ_72MHz,所以调用SetSysClockTo72()?SetSysClockTo72();#endif}SetSysClockTo72()函数如下:static void SetSysClockTo72(void){?__IO uint32_t StartUpCounter = 0, HSEStatus = 0;?/* SYSCLK, HCLK, PCLK2 and PCLK1 configuration ---------------------------*/??/* Enable HSE */??RCC-CR |= ((uint32_t)RCC_CR_HSEON);?/* Wait till HSE is ready and if Time out is reached exit */?do?{ HSEStatus = RCC-CR RCC_CR_HSERDY; StartUpCounter++;???} while((HSEStatus == 0) (StartUpCounter != HSE_STARTUP_TIMEOUT));?if ((RCC-CR RCC_CR_HSERDY) != RESET)?{ HSEStatus = (uint32_t)0x01;?}?else?{ HSEStatus = (uint32_t)0x00;?}???if (HSEStatus == (uint32_t)0x01)?{ /* Enable Prefetch Buffer */ FLASH-ACR |= FLASH_ACR_PRFTBE; /* Flash 2 wait state */ FLASH-ACR = (uint32_t)((uint32_t)~FLASH_ACR_LATENCY); FLASH-ACR |= (uint32_t)FLASH_ACR_LATENCY_2;? /* HCLK = SYSCLK */ RCC-CFGR |= (uint32_t)RCC_CFGR_HPRE_DIV1;? /* PCLK2 = HCLK */ RCC-CFGR |= (uint32_t)RCC_CFGR_PPRE2_DIV1;?? /* PCLK1 = HCLK */ RCC-CFGR |= (uint32_t)RCC_CFGR_PPRE1_DIV2;#ifdef STM32F10X_CL /* Configure PLLs ------------------------------------------------------*/ /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40
您可能关注的文档
- 5包公审驴.ppt
- 5分钟说地理.ppt
- 5单元整理复习提纲【姚】.doc
- 5变态心理学第五讲.ppt
- 5命题与推理.ppt
- 5客户异议处理技巧.ppt
- 5心理咨询师心理测验技能课程知识要点.doc
- 5国际结算.ppt
- 5曲线与方程.ppt
- 5月共处理钓鱼网站6708个:非CN域名达6551个.docx
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 四年级音乐下册欣赏《包粽子》《欢乐的夜晚》教案苏教版.pdf VIP
- 电镀加工项目可行性研究报告.docx VIP
- 第三单元第二章植物体内的物质与能量变化【速记清单】.docx
- 高大模板工程施工与支撑体系专项方案.docx VIP
- 春节后复工复产方案.doc VIP
- 中建协QC汇编_3-福州建工-提高大面积冷库墙体保温层施工质量——福州建工(集团)总公司.doc VIP
- Q SHB 0003-2016_全自动滚筒洗衣机玻璃观察窗.pdf VIP
- 电力工程安全协议书.doc VIP
- 2019年青海省中考数学试卷【原卷版】材料.pdf VIP
- AI驱动的组织重构与业务重构:绚星智慧科技AI实践白皮书.docx VIP
原创力文档

文档评论(0)