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

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个回答
ts2000 回答时间: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吧
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版