当前位置:首页 > 单片机 > 单片机
[导读]由于工作需要,要使用stm8单片机测量一个方波脉冲的频率,一开始想要使用定时器捕获,可是需要测量的脉冲频率较高,用捕获测量不仅测量不准确,而且效率低下。于是决定用外部计数TIMx_ETR功能测量。

本人在大四工作实习期间,由于工作需要,需要使用stm8单片机测量一个方波脉冲的频率,一开始想要使用定时器捕获,可是需要测量的脉冲频率较高,用捕获测量不仅测量不准确,而且效率低下。于是乎想到了用外部计数TIMx_ETR功能测量!

真正的问题来了,之前从来没用过stm8的外部脉冲计数功能,而且网上也是在找不到如何配置外部脉冲计数模式。而公司的进度还在不断的向前赶,更蛋疼的是stm8的绝大多数资料手册全是英文版的,不像stm32单片机那样有很多中文版。这下可急坏了笔者。可还是硬着头皮连夜加班的看英文文档。

经过2天的努力煎熬,笔者终于找到了解决方法,那个兴奋啊,无以言表。接下来话不多说,赶紧向广大网友分享stm8单片机的TIMx_ETR的配置技巧

1:其实STM8单片机的TIMx_ETR功能对STM8S系列和STM8L系列的配置方法是不相同的;STM8S是标准版,而STM8L是低功耗版;

对于STM8S系列的外部计数配置,需要通过向FLASH内修改选项字节来激活TIMx_ETR的重映射功能,通过查看手册的“选项字节”那部分就可以发现,在STM8S的4803h地址的重映射选项里有个选项字节叫OPT2,当向OPT2字节写入0X20时,便可以将PB3引脚映射为TIMx_ETR外部脉冲计数功能引脚。配置完选项字节之后另外还有一个值得注意的问题是:此时该PB3引脚的管脚必须配置成“上拉输入且无外部中断”,即库函数里的 GPIO_Init(GPIOB, GPIO_Pin_3, GPIO_Mode_In_PU_No_IT);这一句。现附程序如下所示:

{

TIM1_DeInit();

CLK_PeripheralClockConfig(CLK_PERIPHERAL_TIMER1, ENABLE);// 开启定时器2的时钟,

FLASH_Unlock(FLASH_MEMTYPE_DATA); //解锁

while(FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET);

FLASH_ProgramOptionByte(0x4803,0x20); //选项字节,向0X4803地址写入0X20

u8 status;

status=FLASH_WaitForLastOperation(FLASH_MEMTYPE_DATA);

if(status==FLASH_STATUS_SUCCESSFUL_OPERATION)

{}

FLASH_Lock(FLASH_MEMTYPE_DATA);

TIM1_ETRClockMode2Config(TIM1_EXTTRGPSC_DIV2, TIM1_EXTTRGPOLARITY_INVERTED,0x00); //外部计数配置

TIM1_TimeBaseInit(1,TIM1_COUNTERMODE_UP,9999,0);

TIM1_ITConfig(TIM1_IT_UPDATE,ENABLE);

TIM1_SetCounter(0x0);

TIM1_ClearITPendingBit(TIM1_IT_UPDATE); //参考库

TIM1_Cmd(ENABLE);

}

2:然而不是所有STM8单片机都需要改选项字节,对于STM8L系列单片机就不必修改选项字节,直接配置即可,附程序代码如下:

TIM2_DeInit();

CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE);// 开启定时器2的时钟

TIM2_ETRClockMode2Config(TIM2_ExtTRGPSC_DIV2, TIM2_ExtTRGPolarity_Inverted,0x00);

TIM2_TimeBaseInit(TIM2_Prescaler_1,TIM2_CounterMode_Up,9999);//需不需要加?

TIM2_ITConfig(TIM2_IT_Update,ENABLE);

TIM2_SetCounter(0x0);

TIM2_ClearITPendingBit(TIM2_IT_Update); //参考库

TIM2_Cmd(ENABLE);

希望能帮助到你!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

交换机是计算机网络中的核心设备之一,用于连接多台计算机并在它们之间传输数据。交换机的性能和功能配置直接影响网络的性能和可用性。其中,交换机的端口是至关重要的组成部分,它们负责接收、转发和管理网络数据。本文将深入探讨交换机...

关键字: 交换机 计算机 配置

步进电机是将电脉冲信号,转变为角位移或线位移的开环控制电机,又称为脉冲电机。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响。当步进驱动器接收到一个脉冲信号时,它就可以驱动步进...

关键字: 步进电机 脉冲 控制

要说当下暑期档最火的电影是哪一部,如果随机问一百个路人的话,或许九十九个会首选《我不是药神》。诚然,无大牌明星,无豪华特效,仅仅凭借出色的题材剧情,上映仅8天,票房就已突破20亿!纵观整部电影,除了诸多让人潸然泪下的感人...

关键字: 传祺GS4 荣威RX3 配置

10月21日,行程逾4000公里的“海马S5 IN迹之旅”在束河古镇圆满画上句号。不过,对于即将上市的2018款海马S5来说,这只是一个新的开始。经过了高原、山地、冰雪、荒漠、戈壁、草甸、泥泞等复杂路况验证的海马S5,接...

关键字: 海马S5 配置 动力

全车标配超越传统豪华SUV级别的安全配置,将全系安全标准提高到一个全新的高度。全系标配自适应巡航(ACC),在0-150Km/h速度范围内能够识别有效车距;高强度扭转和弯曲刚度车架,能支持强劲的越野性能和整车刚性,并带来...

关键字: SUV 自适应巡航 配置

在城市里谋生,汽车早已是年轻人生活中不可或缺的一部分,有调查显示80%的90后会选择先买车再买房。因为有了车之后,生活质量、工作效率明显可以得到改善,可以节省出很多时间去提升自己、去享受生活。

关键字: 绅宝X35 北汽 配置

随着消费者需求的提升,现有的微客从外型、配置、价格都已不能让经常在外奔波的小生意人中意,随着价格不断的下探,商用MPV车型凭颜值高、配置更优更舒适、价格与微客相近但档次更高而备受到小生意人的热捧,众多媒体更是直言未来的五...

关键字: 消费者 MPV 配置

万物美好,你在中央。馥郁的百花园中,沁人心脾的芬芳令人迷醉,驾驶着比亚迪元飞驰在这如画的风景中,春天的阳光温暖而充满活力,唤醒内心的激情,如果时间允许的话,真想一直这样开下去。

关键字: 比亚迪 小型SUV 配置

摘要:模块化UPS电源是重要的电气设备,为高效发挥其功能,从模块化UPS电源设备的主要组成部分—主机柜、强电柜、蓄电池、电池开关柜、电池架、连接线缆等方面,分析了合理配置模块化UPS电源的方法,为我国碳达峰和碳中和目标的...

关键字: 电池 线缆 配置

输出短路后输出电压非常低,电感的激磁电流di/dt变得非常大,去磁电流di/dt变得非常小,工作几个开关周期后电感激磁的起始电流不断增加,极端情况下电感可能发生饱和,电感值L降低到非常低的值。

关键字: 脉冲 频率折返
关闭
关闭