你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
stm32用一个定时器实现两个不同时间
[复制链接]
和你挤公交
提问时间:2017-11-22 16:42 /
问答
是否解决:
stm32用一个定时器定时两个不同时间该怎么实现?假设我配置定时时间是一秒,在中断中设置一个变量t,进一次中断t+1,若t=10,清零,证明10s到了;如果再想要个3s的时间该怎么办?希望给点思路
赞
0
收藏
0
评论
4
分享
发布时间:2017-11-22 16:42
举报
请先
登录
后回复
4个回答
feiteng0814
回答时间:2018-1-30 19:50:45
a0a.1 32b0c
1. 可以使用System_tick的方式,发出1ms的中断,然后再中断中减减,当时间到了之后,置位task的任务。(1)在主程序中初始化
(2) 增加中断
(3) 时间到了之后,进task
评分
参与人数
1
蝴蝶豆
+5
收起
理由
zero99
+ 5
查看全部评分
赞
0
评论
回复
支持
反对
yu0405jie
回答时间:2018-1-30 21:14:18
a0a.1 32b0c
用两个变量啊
评分
参与人数
1
蝴蝶豆
+2
收起
理由
zero99
+ 2
查看全部评分
赞
0
评论
回复
支持
反对
努力的人
回答时间:2018-1-31 10:01:45
a0a.1 32b0c
你现在有一个时基为1s,那么你定义了变量n,在中断中每中断一次n加1,然后你写
void TIMx_IRQhandle()
{
n++;
if(n==3)
{
//3s中断处理部分
}
if(n==10)
{
//10s中断处理部分
n=0;
}
}
评分
参与人数
1
蝴蝶豆
+4
收起
理由
zero99
+ 4
查看全部评分
赞
0
评论
回复
支持
反对
qiu4466
回答时间:2018-3-19 09:36:24
a0a.1 32b0c
通过CAN通讯实现的吗
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
(2) 增加中断
(3) 时间到了之后,进task
评分
查看全部评分
评分
查看全部评分
void TIMx_IRQhandle()
{
n++;
if(n==3)
{
//3s中断处理部分
}
if(n==10)
{
//10s中断处理部分
n=0;
}
}
评分
查看全部评分