OpenEdv-开源电子网

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

PWM输出的问题,求指导

[复制链接]

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-7-23
在线时间
0 小时
发表于 2013-7-25 11:07:42 | 显示全部楼层 |阅读模式
我想用4路PWM输出,可是貌似用一个定时器的话,每个通道间会有影响,有没有一条语句是用来禁止某个通道的,还有禁止某个定时器的。。。求大神们指导
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

13

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2013-7-15
在线时间
0 小时
发表于 2013-7-25 11:14:51 | 显示全部楼层
不开那个通道呗,用几个开几个
回复 支持 反对

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-7-23
在线时间
0 小时
 楼主| 发表于 2013-7-25 11:29:56 | 显示全部楼层
回复【2楼】HYK:
---------------------------------
在main函数里应该加上哪个语句呢?我是新手,好多都还不太会用。谢谢了
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-25 11:42:14 | 显示全部楼层
回复【楼主位】怀念那曾经:
---------------------------------
当然有了,每个通道都可以单独开关,每个定时器也可以.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-7-23
在线时间
0 小时
 楼主| 发表于 2013-7-25 15:26:40 | 显示全部楼层
回复【4楼】正点原子:
-------------
比如我要用timer4的4个通道,4个通道输出PWM波,1,2通道分别控制电机正反转,3,4分别控制超声波测距离,mian()函数里面我应该怎样分别使能4个通道使他们互不干扰呢?我现在附上我的程序,上边就两个通道分别实现正反转的,我看不出哪有错,劳烦大神不吝赐教。
 int main(void)
 {
u16 led0pwmval_1=0;
u16 led0pwmval_2=0;
u8 dir=1;
u8 t=0;
SystemInit();
delay_init(72);      //延时初始化

uart_init(9600);
  LED_Init();
KEY_Init();          //按键初始化

TIM4_GPIO_Config ();
TIM4_Mode_Config();
TIM4_PWM_Init();


   
while(1)
{
  delay_ms(10);  
if(t==1)    //电机正转

 {
                       (这里应该加什么样语句呢????)
 

    if(dir)led0pwmval_1++;
   else led0pwmval_1--;
    if(led0pwmval_1>900)dir=0;
    if(led0pwmval_1==0)dir=1;
TIM_SetCompare2(TIM4,led0pwmval_1);


     }
else if (t==0)
 {
          (这里应该加什么样语句呢????)
   
    if(dir)led0pwmval_2++;        //电机反转
   else led0pwmval_2--;
    if(led0pwmval_2>900)dir=0;
    if(led0pwmval_2==0)dir=1;
TIM_SetCompare2(TIM4,led0pwmval_2);  
 
 }


 
  
          }  

 }
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-25 15:50:06 | 显示全部楼层
我不明白正反转为何要用PWM控制?
也不明白超声波测距是如何通过PWM控制实现的?

所以,表示看不懂.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

4

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2013-7-23
在线时间
0 小时
 楼主| 发表于 2013-7-25 15:59:55 | 显示全部楼层
回复【6楼】正点原子:
--------------------------------错了,错了,是正转的时候输出PWM波来改变电机转速,反转的时候同理,正反转都各有 使能端,跟那个超声波无关
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-16 10:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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