完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我对电子产品很陌生,并且对定时器设置有一个基本的问题。我正在使用STM8L151K6并尝试将tiM2配置为使用标准外设库每30秒生成一次中断。我不需要任何类型的波形生成,只需要30秒的超时来禁用连接的IC。 MCU在此期间暂停,因此我需要中断唤醒。如果可能,如何为此间隔配置TIM2?
以上来自于谷歌翻译 以下为原文 I'm very new to electronics and have a basic question regarding timer setup. I'm using an STM8L151K6 and am trying to configure TIM2 to simply generate an interrupt every 30 seconds using the standard peripheral library. I don't require any type of waveform generation, just a 30 second timeout to disable an attached IC. The MCU is halted during this time, so I do require an interrupt to wake. If possible, how do I configure TIM2 for this interval? |
|
相关推荐
3个回答
|
|
|
斯科特,
当STM8L151暂停时,其定时器也会暂停,因此使用TIMx不可能每30秒产生一次中断。 这并不意味着STM8L151无法满足您的需求。 您应该使用RTC,启用其独立RC振荡器或32768 Hz外部谐振器,并配置RTC警报。 问候 EtaPhi 以上来自于谷歌翻译 以下为原文 Scott, when a STM8L151 is halted, its timers are halted too, so it's impossible to generate an interrupt every 30 seconds with TIMx. This doesn't mean that a STM8L151 can't provide what you need. You should use the RTC, enable its indipendent RC oscillator or an 32768 Hz external resonator, and configure a RTC alarm. Regards EtaPhi |
|
|
|
|
|
谢谢你的回复。我实际上错误地说明了睡眠模式。 MCU处于等待中断状态而不是暂停状态。我已经能够每1ms生成一次中断,但假设通过将计数器设置为30000,它将等待30秒。例如:
static void InitDelay2() { //启用TIM4时钟 CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE); //时基配置(~1ms) TIM2_TimeBaseInit(TIM2_Prescaler_128,TIM2_CounterMode_Down,U8(125)); TIM2_SetCounter(30000); //不要重复 TIM2_SelectOnePulseMode(TIM2_OPMode_Single); //启用更新中断 TIM2_ITConfig(TIM2_IT_Update,ENABLE); //启动计时器 TIM2_Cmd(ENABLE); } 我也将研究设置RTC。 以上来自于谷歌翻译 以下为原文 Thanks for response. I actually misstated the sleep mode. The MCU is in wait-for-interrupt as opposed to halt. I've been able to generate an interrupt every 1ms, but was assuming that by setting the counter to 30000, it would wait for 30s. For example: static void InitDelay2() { // Enable TIM4 clock CLK_PeripheralClockConfig(CLK_Peripheral_TIM2, ENABLE); // Time base configuration (~1ms) TIM2_TimeBaseInit(TIM2_Prescaler_128, TIM2_CounterMode_Down, U8(125)); TIM2_SetCounter(30000); // No repeat TIM2_SelectOnePulseMode(TIM2_OPMode_Single); // Enable update interrupt TIM2_ITConfig(TIM2_IT_Update, ENABLE); // Start timer TIM2_Cmd(ENABLE); } I'll look into setting the RTC, as well. |
|
|
|
|
|
RTC工作正常。我配置了LSI时钟源。它似乎更接近36KHz而不是38KHz。我不需要准确的时间,所以这很好。再次感谢您的帮助。
以上来自于谷歌翻译 以下为原文 RTC is working fine. I've configured LSI clock source. It seems closer to 36KHz rather than 38KHz. I don't need exact timing, so this is working fine. Thanks again for the help. |
|
|
|
|
只有小组成员才能发言,加入小组>>
stm32mp157的异核通信的rpmsg_sdb的m4固件和a7驱动该如何编写?
1453 浏览 0 评论
stm32f103用freertos对一个采样率为1kHz的传感器,进行采样,数据出差
1502 浏览 0 评论
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
3649 浏览 1 评论
3842 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
2461 浏览 1 评论
STM32H7打开DCache后,出现了串口接收信息为空的现象,是哪里出了问题?
727浏览 5评论
用NANO STM32F103RBT6的开发板烧录不了是哪里出了问题?
661浏览 5评论
710浏览 5评论
外部中断触发类型为双边沿触发,进入中断回调后有什么办法判断该边沿是上升沿还是下降沿?
941浏览 5评论
STM32L071CBT6低温环境下无法正常工作是什么原因引起的?
745浏览 5评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:26 , Processed in 0.941167 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1853