首页 > 其他分享 >定时中断和内外时钟源选择

定时中断和内外时钟源选择

时间:2023-04-16 19:00:12浏览次数:30  
标签:TypeDef 中断 void TIM uint16 定时 TIMx 时钟

  • 定时器和中断系统的电路都在STM32内部,故只需在外插一个OLED显示屏即可
  • 定时器不涉及外部硬件,所以把模块封装到System文案金夹,并初始化,把【定时中断基本结构】全部打通
    1. RCC开启时钟,同时定时器的基准时钟和整个外设的工作时钟都会同时打开
    2. 选择时基单元的时钟源,(定时中断选择内部时钟源)
    3. 配置时基单元,包括用结构体配置预分频器,自动重装器,计数模式
    4. 配置输出中断控制,允许更新中断输出到NVIC
    5. 配置NVIC,在NVIC中打开定时器中断的通道,并分配一个优先级
    6. 运行控制
    7. 使能计数器
  • 回到keil进行编写:

查看定时器的库函数都有那些:【Library——>stm32f10x_tim.h——>拖到最后】

void TIM_DeInit(TIM_TypeDef* TIMx);//恢复缺省配置
void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);//时基单元初始化
void TIM_TimeBaseStructInit(TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct);//把结构体变量赋一个默认值

void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState);//使能计数器

void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState);//使能中断输出信号
void TIM_InternalClockConfig(TIM_TypeDef* TIMx);//选择内部时钟

void TIM_ITRxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_InputTriggerSource);//选择ITRx其他定时器时钟

void TIM_TIxExternalClockConfig(TIM_TypeDef* TIMx, uint16_t TIM_TIxExternalCLKSource, uint16_t TIM_ICPolarity, uint16_t ICFilter);//选择TIx捕获通道的时钟

void TIM_ETRClockMode1Config(TIM_TypeDef* TIMx, uint16_t TIM_ExtTRGPrescaler, uint16_t TIM_ExtTRGPolarity, uint16_t ExtTRGFilter);//选择ETR通过外部时钟模式1输入的时钟

 

  • 小tips

 

标签:TypeDef,中断,void,TIM,uint16,定时,TIMx,时钟
From: https://www.cnblogs.com/woyaobiye/p/17323820.html

相关文章

  • Nios II之PIO中断
    PIO中断应用Quartus软件中集成了Qsys工具,用于搭建SOPC系统,其前身是SOPCBuilder。在Qsys中有一个PIO核的组件,PIO在SOPC系统中用的非常多,LCD、按键、LED、数据采集等等都可以使用PIO组件。PIO可以在Qsys中设置外部中断。如图所示,设置5位按键,勾选边缘捕获,边沿类型为下降沿,中断类型......
  • Tim定时器2【功能最强大结构最复杂的外设】
    【定时中断基本结构】 【预分频器时序】   重要前提:在改变预分频系数的时候,得等到下一次计数周期才能改变实际的频率预分频器的输入时钟CK_PSC:选内部时钟的话一般是72MHz计数器使能CNT_EN:高电平计数器正常运行,低电平计数器停止计数器时钟CK_CNT:既是预分频器的时钟输出......
  • 2023.04.14 定时测试随笔 T2
    T2P1593因子和传送门:洛谷P1593既然要求因子和,那我们就先对\(a\)分解质因数,得:              \(a=p_1^{k_1}+p_2^{k_2}+p_3^{k_3}...+p_n^{k_n}\)所以\(a^b\)质因数分解就会得到:              \(a^b=p_1^{k_1*b}+p_2^{k_2*b}+......
  • day8 golang-chan-协程-定时器-锁-等待组
    packagemainimport( "fmt" "math/rand" "sync" "sync/atomic" "time")funcexample1(){ //不要这样写,阻塞就死无法解除,零值nil varc1chanint fmt.Printf("%d,%d,%v",len(c1),cap(c1),c1) //c1<-1......
  • Tim定时器【功能最强大结构最复杂的外设】
    【定时器基本定时的功能】:定一个时间,让定时器每隔这个时间产生一个中断,达到每隔一个固定时间执行一段程序的目的。定时器TIM(Timer)可以对输入的时钟进行计数,并在计数值达到设定值时触发中断可以理解为计数器,计时的过程是对基准时钟进行计数的功能。在STM32中,定时器的基准时钟一......
  • 2023.04.14 定时测试随笔 T1
    T1P2170选学霸传送门:洛谷P2170本题考察的是并查集优化背包DP,所以我们通过并查集将\(n\)个点变成\(group\)个连通块,那么每个连通块里面的点要么都选要么都不选,状态\(dp[i]\)定义为可以选\(i\)个学霸且不会抗议,算出所有可能的结果,再枚举\(1\)~\(n\),求出最接近\(m......
  • 2023.04.13 定时测试随笔 T1
    T1P1133教主的花园传送门:洛谷P1133这是一道DP的题,定义状态\(dp[i][j][k]\)表示前\(i\)棵树所能达到的最大价值,且第\(i\)棵树为第\(j\)种树,\(j=0\)高度是\(10\),\(j=1\)高度是\(20\),\(j=2\)高度为\(30\),如果\(k=0\)它的高度小于相邻两颗,\(k=1\)则......
  • 对射式红外传感器计次(旋转编码器计次)及外部中断的应用(实物未到待完善)
    【1.什么样的设备需要外部中断】STM32想要获取的信号是外部驱动的很快的突发信号按键不推荐,外部中断不好处理按键抖动和松手检测的问题,可以在主程序中循环读取或定时器中断读取的方式【2.使用外部中断有什么样的好处】有脉冲过来,STM32立即进入中断函数处理没有脉冲的时候,S......
  • GPS北斗卫星同步时钟(NTP服务器)助力电子政务网络系统
    GPS北斗卫星同步时钟(NTP服务器)助力电子政务网络系统GPS北斗卫星同步时钟(NTP服务器)助力电子政务网络系统京准电子科技官微——ahjzsz摘要:随着电子政务的不断发展,许多省份都建立了自己的政务网络,使用的网络设备和服务器日益增多,这些设备都有自己的时钟,是可以调节的,因此网络中的所......
  • JOB实现定时收集特定用户的统计信息
    --创建存储过程createprocedureanalyze_table_elan4is--analyze_table_elan4存储过程名,自定义begindbms_stats.gather_schema_stats(ownname=>'ELAN',--修改要收集统计信息的用户options=>'GATHER',estimate_percent=>dbms......