完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本来想试试弄个秒计时的
Systick_CounterCmd(SysTick_Counter_Disable); SysTick_ITConfig(DISABLE); SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); SysTick_SetReload(9000*1000); SysTick_CounterCmd(SysTick_Counter_Enable); FlagStatus Status; Status = SysTick_GetFlagStatus(SysTick_FLAG_COUNT); 结果这个Status要好久才置位1一次 然后试了好久发现 这么设置SysTick_SetReload(9000*150);大概是一秒置位一次 怎么回事,实在不明白。LOAD设为9000*1000,那Systick时钟9MHZ,不就是1秒减完吗?怎么不对? |
|
相关推荐
5个回答
|
|
人工置顶,求指教
|
|
|
|
你的外部晶振是不是用的8MHz的,这样系统时钟才是72MHz,systick为72/8=9M
|
|
|
|
我是用keil软件仿真的不知道有没有问题 void RCC_Configuration(void) { //----------使用外部RC晶振----------- RCC_DeInit(); //初始化为缺省值 RCC_HSEConfig(RCC_HSE_ON); //使能外部的高速时钟 while(RCC_GetFlagStatus(RCC_FLAG_HSERDY) == RESET); //等待外部高速时钟使能就绪 // FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); //Enable Prefetch Buffer // FLASH_SetLatency(FLASH_Latency_2); //Flash 2 wait state RCC_HCLKConfig(RCC_SYSCLK_Div1); //HCLK = SYSCLK RCC_PCLK2Config(RCC_HCLK_Div1); //PCLK2 = HCLK RCC_PCLK1Config(RCC_HCLK_Div2); //PCLK1 = HCLK/2 RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); //PLLCLK = 8MHZ * 9 =72MHZ RCC_PLLCmd(ENABLE); //Enable PLLCLK while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET); //Wait till PLLCLK is ready RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //Select PLL as system clock while(RCC_GetSYSCLKSource()!=0x08); //Wait till PLL is used as system clock source |
|
|
|
你在simulater中配置一下参数就可以了,外部晶振选择8M就ok |
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
990 浏览 2 评论
748 浏览 0 评论
嵌入式开发 Win11安装ST-Link 提示 设备描述符请求失败 怎么处理?
873 浏览 0 评论
1154 浏览 1 评论
求助:STM32F407串口控制外设无效,用电脑串口助手有效
2039 浏览 3 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-3 18:14 , Processed in 0.954643 second(s), Total 81, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191