#include "msp.h"
void main(void)
{
WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD;
P1->DIR |= BIT0;
P1->OUT &= ~(BIT0);
P1->SEL0 &= ~(BIT0);
P1->SEL1 &= ~(BIT0);
while (1)
{
P1->OUT = BIT0;
__delay_cycles(1000000);
}
}
#include "msp.h"
uint8_t tic = 0;
void main(void)
{
WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD;
P2->DIR |= BIT2;
P2->OUT &= ~(BIT2);
TIMER_A0->CTL = TIMER_A_CTL_TASSEL_2 | TIMER_A_CTL_MC_1;
TIMER_A0->CCR[0] = 60000 - 1;
TIMER_A0->CCTL[0] = TIMER_A_CCTLN_CCIE;
NVIC->ISER[0] = 1 << ((TA0_0_IRQn)&31);
__enable_irq();
while (1)
{
}
}
void TA0_0_IRQHandler(void)
{
if (tic++ >= 50)
{
P2->OUT ^= BIT2;
tic = 0;
}
TIMER_A0->CCTL[0] &= ~(TIMER_A_CCTLN_CCIFG);
}
#include "msp.h"
uint8_t tic = 0;
void main(void)
{
WDT_A->CTL = WDT_A_CTL_PW | WDT_A_CTL_HOLD;
P2->DIR |= BIT2;
P2->OUT &= ~(BIT2);
TIMER_A0->CTL = TIMER_A_CTL_TASSEL_2 | TIMER_A_CTL_MC_1;
TIMER_A0->CCR[0] = 60000 - 1;
TIMER_A0->CCTL[0] = TIMER_A_CCTLN_CCIE;
NVIC->ISER[0] = 1 << ((TA0_0_IRQn)&31);
__enable_irq();
while (1)
{
}
}
void TA0_0_IRQHandler(void)
{
if (tic++ >= 50)
{
P2->OUT ^= BIT2;
tic = 0;
}
TIMER_A0->CCTL[0] &= ~(TIMER_A_CCTLN_CCIFG);
}
使用脉冲宽度调制 (PWM) 控制 LED 亮度 | 使用脉冲宽度调制 (PWM) 控制多个 LED 亮度 | SG90伺服电机控制演示 | 使用脉冲宽度调制 (PWM) 创建正弦波以交替输出强度