定时器1 PWM输出源代码

本文介绍了一种基于.c文件的定时器1输出PWM初始化的方法。通过配置寄存器实现P1.0作为定时器1通道2,并设置了定时器1的工作模式、优先级及捕获/比较值等参数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.c文件

#include <ioCC2540.h>   
#include "PWM.h"  
  
#ifndef BV  
#define BV(n)      (1 << (n))  
#endif  
  
/******************************************************************************    
name:             T1_PWM_Init    
introduce:        定时器1输出PWM的初始化   
parameter:        none   
return:           none  
author:           neha 
changetime:       2018.6.25  
******************************************************************************/  
void T1_PWM_Init(void)  
{   
    P1DIR |= BV(0);
    P1SEL |= BV(0);    //P1.0设置为外设I/O口:定时器1通道2  
    
    PERCFG |= BV(6);   //定时器1为外设位置2(P1.0) 
    P2SEL &= ~BV(4);   //优先级控制:定时器1优先  
   
    T1CTL |= 0x02;     //1分频,从0x0000到T1CC0反复计数。
    T1CCTL2 = 0x34;    //定时器1通道2配置为比较输出,当等于T1CC0时设置,当等于T1CC2时清楚 
    T1CC0L = 32%256;  //定时器1通道0捕获/比较值低位  
    T1CC0H = 32/256;  //定时器1通道0捕获/比较值高位  
    T1CC2L = 10%256;  //定时器1通道2捕获/比较值低位  
    T1CC2H = 10/256;  //定时器1通道2捕获/比较值高位  
}

.h文件

#ifndef PWM_H
#define PWM_H

#ifndef U8
typedef unsigned char uint8;
#endif

#ifndef U16
typedef unsigned short uint16;
#endif

extern void T1_PWM_Init(void);

#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值