完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
为什么我用基本定时器6发现,时钟预分频值如果小于定时计数器重载值是会出错,感觉像进入中断的时间特别短,中断函数中灯的闪烁完全常亮。
还有,我用的是上电默认的8mhz时钟,但是定时器进中断的时间跟我预料的差好多,求看看哪里问题。 #include<STM32f10x.h> int main() { RCC->APB1ENR|=(1<<4);//开启定时器6时钟 tiM6->CR1|=(1<<7)|(1<<2);//开启预装载,只有计数溢出才产生更新中断/dma请求 TIM6->DIER|=0x01;//使能中断 TIM6->PSC=8000;//预分频系数8000 TIM6->ARR=8000-1;//自动重装载值8000.因内部8mhz,大概进入中断为8s一次 TIM6->CR1|=1;//启动定时器6 NVIC->ISER[1]|=(1<<22);//开nvic的定时器6中断,优先级按默认 RCC->APB2ENR|=(1<<4); GPIOC->CRL|=0X22222222; GPIOC->BSRR=0XFF;//初始化led灯的io口 while(1); } void TIM6_IRQHandler() { static u16 sec=0; if(sec%2!=0) { GPIOC->BRR=0XFF; } else GPIOC->BSRR=0XFF; sec++; TIM6->SR=0X00;//清除标志 } |
|
相关推荐
2个回答
|
|
共同研究,正在看stm32
|
|
|
|
你要确认一下你的系统时钟是8MHZ?你没有使用HSE?如果没有装外部晶振,则系统启动后使用HSI为8MHZ,如果有使用HSE,则系统启动默认72MHZ
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2005 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1858 浏览 3 评论
4442 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
2007 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2513 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-20 09:45 , Processed in 0.524195 second(s), Total 42, Slave 36 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号