OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4878|回复: 9

PWM输出波形低电平不是0

[复制链接]

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2014-8-6
在线时间
17 小时
发表于 2016-1-15 15:16:09 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 风吹裙底屁屁凉 于 2016-1-17 20:02 编辑

用STM32    输出PWM   示波器测试波形低电平有1.24V,而且波形有好多毛刺,但是电源测试波形很好。

void TIM4_PWM_Config()
{
        GPIO_InitTypeDef GPIO_InitStructure;

        TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
        TIM_OCInitTypeDef TIM_OCInitStructure;
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);               
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
         // PB8-> TIM4_CH3  PWM输出
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_Init(GPIOB, &GPIO_InitStructure);


        TIM_TimeBaseStructure.TIM_Period = 99;
        TIM_TimeBaseStructure.TIM_Prescaler = 71;
        TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
        TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
        TIM_TimeBaseInit(TIM4, & TIM_TimeBaseStructure);
       


        TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
        TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
        //TIM_OCInitStructure.TIM_Pulse = 20;
        TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
        TIM_OC3Init(TIM4, & TIM_OCInitStructure);

        TIM_OC3PreloadConfig(TIM4, TIM_OCPreload_Enable);

        TIM_Cmd(TIM4, ENABLE);

}

这是配置定时器代码    芯片是stm32vet6  用的是PB8复用功能TIM4的chinal3  
主函数里边除了初始化只有这一段代码  TIM_SetCompare3(TIM4, 60);

输出波形,低电平为1.2V

输出波形,低电平为1.2V

最佳答案

查看完整内容[请看2#楼]

外边的CAN信号未接 但是 与外部的CAN收发器SN65VHD230的rx引脚相连 所以
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-1-5
在线时间
10 小时
发表于 2016-1-15 15:16:10 | 显示全部楼层
外边的CAN信号未接
但是
与外部的CAN收发器SN65VHD230的rx引脚相连
所以
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2016-1-15 22:18:47 | 显示全部楼层
代码没写好吧
回复

使用道具 举报

14

主题

1592

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2622
金钱
2622
注册时间
2014-7-17
在线时间
350 小时
发表于 2016-1-16 11:02:56 | 显示全部楼层
低电平是有一个数值范围的,并不一定代表低电平就是0
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-1-5
在线时间
10 小时
发表于 2016-1-17 10:31:52 | 显示全部楼层
我也遇到同样的问题
六路中有一路有这样的情形,分析原因可能是该引脚与开发板上其他元器件有连接
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
39
金钱
39
注册时间
2016-1-5
在线时间
10 小时
发表于 2016-1-17 10:38:09 | 显示全部楼层
FantaSy_ 发表于 2016-1-16 11:02
低电平是有一个数值范围的,并不一定代表低电平就是0

1.2v肯定不允许的
输出PWM在示波器上看,低电平应看不出有数值
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2016-1-17 12:14:29 | 显示全部楼层

肯定有问题。


回复

使用道具 举报

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2014-8-6
在线时间
17 小时
 楼主| 发表于 2016-1-17 20:03:29 | 显示全部楼层

代码我贴出来了,麻烦大神帮忙分析下
回复

使用道具 举报

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2014-8-6
在线时间
17 小时
 楼主| 发表于 2016-1-17 20:18:14 | 显示全部楼层
hzn1948 发表于 2016-1-17 10:31
我也遇到同样的问题
六路中有一路有这样的情形,分析原因可能是该引脚与开发板上其他元器件有连接

这个IO口确实与外部的CAN收发器SN65VHD230的rx引脚相连,外边的CAN信号未接,应该对RX引脚没影响吧。
回复

使用道具 举报

3

主题

23

帖子

0

精华

初级会员

Rank: 2

积分
125
金钱
125
注册时间
2014-8-6
在线时间
17 小时
 楼主| 发表于 2016-1-18 10:06:35 | 显示全部楼层
hzn1948 发表于 2016-1-15 15:16
外边的CAN信号未接
但是
与外部的CAN收发器SN65VHD230的rx引脚相连

嗯 ,确实是这个问题,芯片拆掉以后就好了,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 15:07

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表