历史上的今天

今天是:2024年09月16日(星期一)

2018年09月16日 | stm32f432的位计数器计数

发布者:RadiantBreeze 来源: eefocus关键字:stm32f43  计数器  计数 手机看文章 扫描二维码
随时随地手机看文章

大家都知道stm32f4片内资源丰富,外中外设功能强大,拥有两个32位计数器,这对很多需要对脉冲计数的项目来说很是很好的,不仅省掉了外部计数器的扩展,节约PCB空间,程序设计也简单很多的。由于本人也是刚接触f4系列的单片机,只是觉得很强大,在32位计数器脉冲计数上也遇到了问题,在网上也搜索了很多资料,但是都没有具体的例程供参考,本人对寄存器了解不是很深刻,喜欢库函数,最后经过几天的苦思冥想和多次实践,最终终于成功了,贴出配置文件如下:

void TIM2_Int_Init(u32 arr,u16 psc)
{

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
GPIO_InitTypeDef  GPIO_InitStructure;
// TIM_ICInitTypeDef  TIM_ICInitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);  /
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
//PA0ÅäÖÃ
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; /
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;//
  GPIO_Init(GPIOA, &GPIO_InitStructure);/

GPIO_PinAFConfig(GPIOA,GPIO_PinSource15,GPIO_AF_TIM2); //

  TIM_TimeBaseInitStructure.TIM_Period = arr; //
TIM_TimeBaseInitStructure.TIM_Prescaler=psc;  //
TIM_TimeBaseInitStructure.TIM_CounterMode=TIM_CounterMode_Up;
TIM_TimeBaseInitStructure.TIM_ClockDivision=TIM_CKD_DIV1; 
TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStructure);//

TIM_TIxExternalClockConfig(TIM2, TIM_TIxExternalCLK1Source_TI1, TIM_ICPolarity_Rising, 0);
  
TIM_CounterModeConfig(TIM2,TIM_CounterMode_Up);
TIM_SetCounter(TIM2,0);//
TIM_Cmd(TIM2,ENABLE); //
}

下面是定时器4定时1秒来读取计数值并通过串口打印的函数:

void TIM4_IRQHandler(void)
{
if(TIM_GetITStatus(TIM4,TIM_IT_Update)==SET) /
{
       counter=TIM_GetCounter(TIM2);//读取计数值
printf("Fre:%32d ",counter);
TIM_SetCounter(TIM2,0);//设置计数初值
counter=TIM_GetCounter(TIM2);//确定计数初值是0
printf("Fre:%32d  ",counter);
flag_1s=1;
}
TIM_ClearITPendingBit(TIM4,TIM_IT_Update);  //
}

但是最后在实测时发现这个计数器计数不准确,频率越大偏差越大,100KHz时打印出的值大概是99K左右,1KHz时打印出九百九十五左右,但是计数值可以超过750KHz的(实测过的),这个和定时器初始化时的自动重装载值和预分频有关。希望能帮到大家。


关键字:stm32f43  计数器  计数 引用地址:stm32f432的位计数器计数

上一篇:STM32CubeMX:ETR外部脉冲计数器
下一篇:STM32的计数器的使用

推荐阅读

来自德国汉诺威/腓德烈斯哈芬的消息,采埃孚在本届汉诺威国际商用车展览会(IAA)上展示了新的面向卡车的解决方案——基于雷达的转向辅助系统能全方位地监测车身周围,确保卡车在城市中行驶更安全。更安全的城市交通:采埃孚卡车转向辅助系统有助于保护行人和自行车骑行者的安全该系统解决了目前后视镜盲区的问题。一旦其他道路使用者靠近视觉盲区或可能进...
9月15日晚间,洁美科技发布发行可转债预案,公司拟发行规模不超6亿元,将用于年产36000吨光学级BOPET膜、年产6000吨CPP保护膜生产项目,同时补充流动资金。其中,上述生产项目计划总投资10.16亿元。据披露,洁美科技本次募投项目的主要产品为光学级BOPET膜和CPP保护膜。其中,光学级BOPET膜主要用于生产MLCC离型膜、偏光片离型膜等,属于光电显示领域;CPP...
北京时间9月16日凌晨1点,苹果举行了线上发布会,由苹果CEO库克领衔主演,与以往发布会相比,此次发布会更加惊险刺激,因为外界的所有猜测貌似都不对,什么iPhone 12增加毫米波雷达芯片,什么要推出AirTags、AirPods Studio、HomePod mini、Apple TV 4K等一串产品啦,全都没出现。 仅仅就是手表和iPad。对于手捧iPhone看直播等新iPhone的熬夜党来说,基...
  磁翻片位于浮筒的外部,是磁翻板液位计的核心部件。当浮筒内的磁浮子随液位升降时,浮子内的磁钢通过磁耦合作用驱动磁翻片翻转180°,翻片的红白交界处即为液位的实际高度。所以,翻片是否可靠对于磁翻板液位计能否稳定可靠的工作影响极大。那么,影响磁翻板液位计翻片可靠性的因素都有哪些呢?  一般来说,影响磁翻板液位计翻片可靠性的因素主要有...

史海拾趣

问答坊 | AI 解惑

模拟电路讲义

很实用,很全的教程。理解完,书都可以不用了。…

查看全部问答∨

我国汽车电子行业呈现的七大特点分析

汽车电子信息产品是一大市场,市场将年增7%,车载远程信息处理系统市场达到200亿美元。据汽车用品之家社区,专家介绍随着我国汽车业发展迅速,目前我国汽车电子业呈现出七大发展特点:   一、汽车工业正处于科技创新时代,传统机电产品成为高 ...…

查看全部问答∨

C和C++嵌入式系统编程、硬件总线技术

C和C++嵌入式系统编程、硬件总线技术 更多:http://blog.sina.com.cn/mmullu…

查看全部问答∨

测试方案汇总

马达测试方案 LED照明相关 测试方案 工业测试一般用到的仪器表   通信测试方案 汽车电子 测试方案 光伏太阳能系统 测试方案 电池/电源 测试方案 …

查看全部问答∨

MSP430F149的串口问题

我用430F149开发一个小语音芯片,用到了SPI串口,现在想用串口调试助手把整个系统测试下,结果发现UART0被SPI已经占用了,异步串口的3.4和3.5口始终输出高电平,板子做好了已经不好改了,不知道还有什么办法解决一下! 另:这个片子的串口UART和管 ...…

查看全部问答∨

有人用过STM32F103XC的定时器TIM5吗

STM32F103XC的定时器5怎么不能用呀 同样的程序改成TIM2,TIM3,TIM4都好使,改成TIM5咱们不好使呀? 有人用过TIM5吗?…

查看全部问答∨

哪位大神帮帮我

本菜鸟写了如下一段程序,折腾半天多了,怎么都进不了DMA传输完成中断。很纠结,哪位大神帮我看一下。问题就在中断上。别被乱乱的程序乱了心!用H-JTAG调试时,程序跑到while(USART_GetFlagStatus(USART2, USART_FLAG_TXE) == RESET); 就过 ...…

查看全部问答∨

长度如何测量

各位高人,现在需要这么一个产品,能检测出直径为2mm,长度为2cm的金属圆柱,可能有的比这个长或者短,这些不达标的需要筛掉,请问有什么长度传感器或者压力传感器、光电传感器之类的,请不吝赐教!…

查看全部问答∨

确定开关电源输入和输出的滤波电容容量问题

请教各位大侠,可以用工程估算方法确定开关电源输入和输出的滤波电容容量吗?…

查看全部问答∨

MSP430G2553定时器的捕捉模式的中断总是无法进入

关于MSP430G2553定时器的捕捉模式的中断总是无法进入;方法是用板子上的LED1做检验是否进中断?如果进中断的话,LED1灯点亮。 捕获模式是输入信号的上升沿,输入信号是我将P1.1口接地,等待一段时间让它接在高电平上,制造上升沿。(P1.1口是TA0的 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved