完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本学习计划关于STM32103计划写5篇。都是平时用的比较多,而且每次都需要注意的。
1.BOOT0和BOOT1 2.时钟设置 3.USART和UART 4.关于按键和屏的设置,以及设计程序的结构。 5.UCOS系统 基本上这5个就够了。之后再写一写FPGA 和 STM32F407的。ヾ(◍°∇°◍)ノ゙ 之前都是用库函数来设置RCC,如下: void RCC_Configuration(void) { RCC_DeInit();//RCC寄存器重置 RCC_HSICmd(ENABLE);//使能内部时钟 while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET)//等待HSI使能成功 { } if(1) { FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); FLASH_SetLatency(FLASH_Latency_2); RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div1);//很多人喜欢用这个: RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PCLK2Config(RCC_HCLK_Div1); //设置PLL 时钟源及倍频系数 RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_16); //使能或者失能PLL,这个参数可以取:ENABLE或者DISABLE RCC_PLLCmd(ENABLE);//如果PLL被用作系统时钟,那么他不能被失能 //等待指定的标志位RCC 设置成功 等待PLL设置成功 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) { } //设置系统时钟(SYSCLK) 设置PLL为系统时钟源 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //等待PLL成功作用于系统时钟的时钟源 // 0x00:HSI 作为系统时钟 // 0x04:HSE 作为系统时钟 // 0x08:PLL 作为系统时钟 while(RCC_GetSYSCLKSource() != 0x08) { } } // RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE); //SPI2 GPIOB-12,13,14,15 //RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2,ENABLE); //SPI2 } 也是之前在网上down的,属于内部时钟。当需要使用外部时钟时,修改 “//设置PLL 时钟源及倍频系数 RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_16); ” 这部分即可。 后来有网友说可以使用SystemInit()函数(位于文件“system_stm32f10x.c”)。 如果定义了这个宏(#define SYSCLK_FREQ_72MHz 72000000),则会将时钟系统初始化为如下状态: SYSCLK:72MHz / AHB:72MHz / PCLK1:36MHz / PCLK2:72MHz / PLL:72MHz。 如此一来便大大简化了编程,只需在设置中预先DEFINE这个宏(SYSCLK_FREQ_72MHz)即可。 这一点,我试过几次,先定义宏(#define SYSCLK_FREQ_72MHz 72000000),然后RCC函数里写SystemInit();也没出过别的问题。但是为什么能用还是有点不明觉厉。现在都是先后一种方式,如果不行,再用第一种方式对时钟进行配置。 另外据说初始化以后可以通过SystemCoreClock变量来获取系统时钟(SYSCLK)的状态,例如,SYSCLK为72MHz,那么SystemCoreClock的值为72000000。这个还没有试过,下次试试。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1627 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1550 浏览 1 评论
984 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
688 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1601 浏览 2 评论
1867浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
650浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
518浏览 3评论
536浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
506浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 15:17 , Processed in 0.757460 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号