OpenEdv-开源电子网

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

TIM1和TIM3同时工作发生两路不同频率(5KHZ.7KZH)的PWM

[复制链接]

6

主题

16

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-3-24
在线时间
8 小时
发表于 2016-3-24 18:11:07 | 显示全部楼层 |阅读模式
1金钱
为什么只有一路输出啊   新手求教
#include "timer.h"
#include "delay.h"

//TIM3 PWM2¿·Ö3õê¼»ˉ
//PWMêä3ö3õê¼»ˉ
//arr£o×Ô¶ˉ֨װÖμ
//psc£oê±ÖóÔ¤·ÖÆμêy




void TIM3_PWM_Init(u16 arr,u16 psc)
{                                                         
        RCC->APB1ENR|=1<<1;         //TIM3ê±&#214;óê1&#196;ü
        RCC->APB2ENR|=1<<2;            //ê1&#196;üPORTAê±&#214;ó            
        RCC->APB2ENR|=1<<3;            //ê1&#196;üPORTBê±&#214;ó        
        RCC->APB2ENR|=1<<4;
        
        
        GPIOC->CRH&=0XFFFFFFF0;//PC8&#199;&#229;á&#227;        
        GPIOC->CRH|=0X0000000B;// &#184;′&#206;&#187;1|&#196;üê&#228;3&#246;
         

  RCC->APB2ENR|=1<<0;     //  
  AFIO->MAPR&=0XFFFFF3FF; //
  AFIO->MAPR|=3<<10;            
           

        TIM3->ARR=arr;                        //éè&#182;¨&#188;&#198;êy&#198;÷×&#212;&#182;ˉ&#214;&#216;×°&#214;μ
        TIM3->SC=psc;                        //&#212;¤·&#214;&#198;μ&#198;÷2&#187;·&#214;&#198;μ


            
        TIM3->CCMR2|=7<<4;          //CH3 PWM2&#196;£ê&#189;                 
        TIM3->CCMR2|=1<<3;             //CH3&#212;¤×°&#212;&#216;ê1&#196;ü           
        TIM3->CCER|=1<<8;           //OC3 ê&#228;3&#246;ê1&#196;ü
   

                 
        TIM3->CCR3=1028;               //OC3 ê&#228;3&#246;ê1&#196;ü

        TIM3->CR1|=1<<7;               //ARPEê1&#196;ü
        TIM3->CR1|=0x01;            //ê1&#196;ü&#182;¨ê±&#198;÷3                                                                                          
}           

void TIM1_PWM_Init(u16 arr,u16 psc)
{                                                         
        //′&#203;2&#191;·&#214;Dèê&#214;&#182;ˉDT&#184;&#196;IO&#191;úéè&#214;&#195;
        RCC->APB2ENR|=1<<11;         //TIM1ê±&#214;óê1&#196;ü   
        GPIOA->CRH&=0XFFFFFFF0;        //PA8&#199;&#229;3y&#214;&#174;&#199;°μ&#196;éè&#214;&#195;
        GPIOA->CRH|=0X0000000B;        //&#184;′ó&#195;1|&#196;üê&#228;3&#246;
        
        TIM1->ARR=arr;                        //éè&#182;¨&#188;&#198;êy&#198;÷×&#212;&#182;ˉ&#214;&#216;×°&#214;μ
        TIM1->SC=psc;                        //&#212;¤·&#214;&#198;μ&#198;÷éè&#214;&#195;
  
        TIM1->CCMR1|=7<<4;          //CH1 PWM2&#196;£ê&#189;                 
        TIM1->CCMR1|=1<<3;                 //CH1&#212;¤×°&#212;&#216;ê1&#196;ü         
         TIM1->CCER|=1<<0;           //OC1 ê&#228;3&#246;ê1&#196;ü           
        TIM1->BDTR|=1<<15;           //MOE &#214;÷ê&#228;3&#246;ê1&#196;ü           

        TIM1->CR1=0x0080;           //ARPEê1&#196;ü
        TIM1->CR1|=0x01;            //ê1&#196;ü&#182;¨ê±&#198;÷1                                                                                   
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2170

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5781
金钱
5781
注册时间
2013-11-22
在线时间
1212 小时
发表于 2016-3-24 21:58:25 | 显示全部楼层
高级定时器需要开启 主输出(MOE)    TIM1->BDTR|=1<<15;  
回复

使用道具 举报

6

主题

16

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-3-24
在线时间
8 小时
 楼主| 发表于 2016-3-24 22:55:20 | 显示全部楼层
lycreturn 发表于 2016-3-24 21:58
高级定时器需要开启 主输出(MOE)    TIM1->BDTR|=1

在倒数第二行 不是有添加吗? 或者说我的用法不对?实在调用的时候才写入?
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 13:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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