微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > 嵌入式系统设计讨论 > PWM占空比可调程序

PWM占空比可调程序

时间:10-02 整理:3721RD 点击:
刚刚学习ARM7。对ARM的理解并不是很透彻。想用ARM实现一个占空比可调的程序。可是找了很久都没有找到。经过一番努力,终于实现了想要的功能。写上来给大家分享。希望对大家会有所帮助。
void __irq IRQ_PWM (void)
{
    PWMIR = 0x01;
   
switch(i)
{
  case 1:
  PWMMR1 = 0;              
  PWMMR2 = Fpclk/300;
  PWMLER = 0x7f;
  break;
  case 2:
PWMMR1 = 0;              
PWMMR2 = 0;
PWMLER = 0x7f;
  break;

i=!i;

VICVectAddr = 0x00;   //标志位没有清除就清除
}

int main(void)
{   
    PINSEL0 = 0x000A800A;
    PINSEL1 = 0x00000400;
    PWMPR  = 0x00;   
    PWMMCR = 0x03;   
    PWMMR0 = Fpclk/100;   
PWMPCR = 0x7e54;
PWMTCR = 0x09;

//设置PWM中断IRQ
VICIntSelect = 0x00000000; // 8通道设置为IRQ中断   
VICVectCntl8 = 0x20|8;       // 优先级
VICVectAddr8 = (uint32)IRQ_PWM;     // 设置中断服务程序地址     
VICIntEnable = 1 << 8;           // 使能PWM中断


while(1);     
   
return(0);

}

很好,不过,你下次放到一个贴子下面更好,便于管理

我是新手。所以请谅解。以后一定注意。

看看

火炬大厦解放和会计师的回复伺机待发

顶一个

请问小编,您的PWM信号的精度是多少呢?

很好,顶一下

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top