你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

PWM启动方式IT启动DMA启动和普通启动区别?

[复制链接]
luscu 提问时间:2016-12-23 15:07 /
在使用PWM的时候,发现一般有三种方式启动,如下:
HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)
有谁可以帮我解释一下这三种方式具体使用各有什么好处和特点?最好具体一点。什么时候使用IT,什么时候使用DMA?

收藏 2 评论16 发布时间:2016-12-23 15:07

举报

16个回答
小小超 回答时间:2017-1-5 08:49:33
HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
正常PWM方式

HAL_TIM_PWM_Start_IT(TIM_HandleTypeDef *htim, uint32_t Channel)
带中断的PWM方式

HAL_TIM_PWM_Start_DMA(TIM_HandleTypeDef *htim, uint32_t Channel, uint32_t *pData, uint16_t Length)
带DMA的PWM方式、、、、

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

无薪税绵 回答时间:2017-1-5 08:25:41
楼主要把这三种方式的源码复制上来才好判断。
只看函数名称,估计是用定时器产生PWM和用DMA产生PWM的区别。
DMA的好处是不占用单片机的时间。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

any012 回答时间:2017-1-5 09:09:35
同问,正常PWM方式会一直占用CPU直到PWM发送完成吗?
peter001 回答时间:2017-1-5 09:41:19
学习一下
斜阳 回答时间:2017-1-5 09:44:51
看看库函数内容
cldym 回答时间:2017-1-5 09:53:07
学习一下
五哥1 回答时间:2017-1-5 11:09:42
二楼回答是正解
队长shiwo 回答时间:2017-1-5 11:27:45
大数据传输就用DMA模式,减少中断,释放CPU;一般都是用普通模式即可,IT不知道是什么时候使用的

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

队长shiwo 回答时间:2017-1-5 11:29:42
any012 发表于 2017-1-5 09:09
同问,正常PWM方式会一直占用CPU直到PWM发送完成吗?

是的吧,一般CPU承受的起的,数据量大的话就使用DMA吧
队长shiwo 回答时间:2017-1-5 11:31:06
ts2000 发表于 2017-1-5 08:49
HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
正常PWM方式

正解,顶一下
leo121_3006061 回答时间:2017-1-5 13:04:40
第二种方式真还没用过
watershade 回答时间:2017-1-5 13:43:24
记得看文档开头的说明,或者相关cube的手册。上面很清楚

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

埃斯提爱慕 回答时间:2017-1-5 15:13:32
提示: 作者被禁止或删除 内容自动屏蔽
alisa123 回答时间:2017-1-5 16:50:11
关注学习!
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版