你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
每日签到
STM32团队2
论坛吐槽优化专区
升级测试
用stm32cube,tim的sr寄存器无法修改
[复制链接]
蔡老四
提问时间:2017-5-4 18:27 /
问答
是否解决:
__HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
htim1.Instance->SR=0;
htim1.Instance->SR&=0xfffe;
新手,刚刚用hal,是不是那里设置到锁起来了.然后其他寄存器像CCR1,ARR都可以直接修改.求解.
赞
0
收藏
1
评论
5
分享
发布时间:2017-5-4 18:27
举报
请先
登录
后回复
5个回答
asmhai
回答时间:2017-5-5 06:13:36
a0a.1 32b0c
早上好!签到来了。
赞
0
评论
回复
支持
反对
安
回答时间:2017-5-5 10:33:08
a0a.1 32b0c
楼主问题要描述详细一些,贴出来的代码是你自己写的吗?当发生事件后,再进行清除操作。
赞
0
评论
回复
支持
反对
蔡老四
回答时间:2017-5-5 22:16:13
a0a.1 32b0c
谢谢关注,当时找问题找到头大没描述清楚.@安 我用的是stm32cube 生成的项目,ide用的是 truestudio.
我想做的就是输出连续输出几个pwm方波后即时暂停(周期大概0.5us),然后用hal的tim的中断,void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim);发现一进中断立刻停都回慢了4个周期,然后自己写一个函数,想一直查询sr,一UIF变动立马关闭.
void TIM_Update(TIM_HandleTypeDef * htim)
{
uint32_t ti=htim->Instance->SR;
while((ti&&0x01)==0x00){
ti=htim->Instance->SR;
}
//htim->Instance->ARR=1000;
__HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
}
然后问题就是修改ARR就有效,然后
htim.Instance->SR=0;
htim.Instance->SR&=0xfffe;
这两种都无效.而且直接改成 htm1也是一样效果.
求教,或者有什么办法关闭pwm.先谢谢.
赞
0
评论
回复
支持
反对
安
回答时间:2017-5-6 08:41:32
a0a.1 32b0c
关闭TIM功能。可以用类似RTC的关闭函数HAL_RTC_MspDeInit(),在stm32f4xx_hal_msp.c中。
赞
0
评论
回复
支持
反对
蔡老四
回答时间:2017-5-6 09:53:33
a0a.1 32b0c
先谢谢了.之前都是做stm8的,突然跳过来32,还是有点过急,先去学习一下,再来继续.
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
我想做的就是输出连续输出几个pwm方波后即时暂停(周期大概0.5us),然后用hal的tim的中断,void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef* htim);发现一进中断立刻停都回慢了4个周期,然后自己写一个函数,想一直查询sr,一UIF变动立马关闭.
void TIM_Update(TIM_HandleTypeDef * htim)
{
uint32_t ti=htim->Instance->SR;
while((ti&&0x01)==0x00){
ti=htim->Instance->SR;
}
//htim->Instance->ARR=1000;
__HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);
}
然后问题就是修改ARR就有效,然后
htim.Instance->SR=0;
htim.Instance->SR&=0xfffe;
这两种都无效.而且直接改成 htm1也是一样效果.
求教,或者有什么办法关闭pwm.先谢谢.