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

STM8S PWM输出,对应的IO口配置

[复制链接]
ljwtwb2005 提问时间:2017-6-8 12:56 /
有个项目需要PWM输出,使用的是TIM2_CH2,请问将此引脚配置为PWM输出时 ,对应引脚的IO口寄存器是否需要配置为推挽输出模式。

现在的程序是引脚配置为PWM模式,但是对应IO口引脚寄存器配置使用的是默认:输入模式,现在产品也能正常工作,已经出货几千套,但是到了客户那里总是反应没有PWM输出,但是在生产线和客户生产线测试时都没有出现过这个问题。一直找不到原因。

今天专门网上查询PWM相关例程,发现有的例程是有将PWM引脚对应的IO口寄存器配置为推挽输出模式的,有的例程却没有,请问,如果没有强制设置为推挽输出模式,是否会出现PWM没有输出的可能。

使用环境是IAR 2.10.4 寄存器控制,
收藏 1 评论8 发布时间:2017-6-8 12:56

举报

8个回答
ljwtwb2005 回答时间:2017-6-8 12:56:45
谢谢各位,请知道此问题的大侠们答疑解惑,谢谢!
ljwtwb2005 回答时间:2017-6-8 12:57:12
刚才我在程序中加上了IO寄存器配置,设置为推挽输出模式,测试也是正常的。
ljwtwb2005 回答时间:2017-6-8 12:57:52
出现的比例也不是很大,但是给客户非常不可靠的感觉
rocky_lu 回答时间:2017-11-1 14:47:26
同求,没有大神吗?
wenyangzeng 回答时间:2018-4-12 10:24:34
貌似TIMx的输出不依赖GPIO口状态。没有PWM输出大概应该检查TIMx的设置是否在运行过程被意外改变。可以设置断点在没有输出时观察寄存器值来判断。

无标题.png

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

七哥 回答时间:2018-4-12 11:22:13
本帖最后由 toofree 于 2018-4-12 11:31 编辑

从IO口的内部框图可以看出,alternate功能时,对应IO管脚本身就是推挽输出,跟IO的内部设置没关系。

傲游截图20180412111819.png


通过读取IDR寄存器的值,或者输入中断,应该是可以监控到PWM输出的状态的。
按理说,只要alternate功能选通后不动,之后是不会被IO内部设置寄存器影响的。如果没有PWM波形,很可能是定时器设置或别的有问题。(在排除系统时钟和复位正常的情况下)

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

wudianjun2001 回答时间:2018-4-12 12:51:30
我都是设置成推挽输出的,没测试过默认或输入的情况

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

feixiang20 回答时间:2018-4-13 01:45:28
都是设置成推挽输出的。你在设计的时候没有问题,客户的环境去了解下,看看哪里有不一样的设置

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

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