打印

为什么我的MSP430G2,手一接近板子呼吸灯的闪动频率受到干扰

[复制链接]
1301|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuyong0806|  楼主 | 2014-8-22 09:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
dirtwillfly| | 2014-8-22 10:50 | 只看该作者
launchpad的IO比较容易受到外部干扰。
但不清楚是怎么影响到你的呼吸灯的

使用特权

评论回复
板凳
wuyong0806|  楼主 | 2014-8-22 10:59 | 只看该作者
dirtwillfly 发表于 2014-8-22 10:50
launchpad的IO比较容易受到外部干扰。
但不清楚是怎么影响到你的呼吸灯的

怎么解决容易受到外部干扰

使用特权

评论回复
地板
wuyong0806|  楼主 | 2014-8-22 11:02 | 只看该作者
dirtwillfly 发表于 2014-8-22 10:50
launchpad的IO比较容易受到外部干扰。
但不清楚是怎么影响到你的呼吸灯的

程序如下:
#include "msp430g2553.h"

unsigned int rate=10;
unsigned char updown = 1;

void main(void) {
       
        WDTCTL = WDT_ADLY_16;          // WDT 16ms, ACLK, interval timer
        BCSCTL1 = CALDCO_8MHZ;    // Set range
        DCOCTL = CALDCO_8MHZ;     // Set DCO step + modulation

        P1DIR |= BIT0 | BIT6;
        P1SEL |= BIT6;
        P1OUT = 0;

        CCR0 = 128;                     // PWM Period
        CCTL1 = OUTMOD_6;                  // CCR1 reset/set
        CCR1 = rate;                // CCR1 PWM duty cycle
        TACTL = TASSEL_1 + MC_1;           // ACLK, up mode

        IE1 |= WDTIE;
        _BIS_SR(LPM3_bits + GIE);
        while(1);
}

#pragma vector=WDT_VECTOR
__interrupt void interrupt_watchdog_timer(void){
        CCR1 = rate;
        if(updown){
                rate += 3;
                if(rate >= 120){
                        updown = 0;
                }
        }else{
                rate -= 3;
                if(rate <= 10){
                        updown = 1;
                }
        }

}
是要把IO口调成输出吗,怎样写?

使用特权

评论回复
5
20153177| | 2016-6-11 15:36 | 只看该作者
楼主能帮忙看看看看这个怎么写吗
在G2板上利用p1.6(PWM输出口)驱动LED来实现呼吸灯。呼吸灯就是亮度渐变的LED灯,普通LED可以用TA输出PWM来控制亮度,通过WDT定时中断来改变亮度,从而实现呼吸灯效果。
要求:
1、通过按键来控制呼吸灯的呼吸频率,即亮度渐变的快慢。
控制方式:按扩展板上KEY1键,呼吸加快一档,连续按2下,呼吸加快一档,连续按3下,呼吸又加快一档......;按KEY3键,呼吸减慢一档,连续按2下,呼吸减慢一档,连续按3下,呼吸又减慢一档......。
2、在液晶屏上显示呼吸灯呼吸频率

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

16

帖子

0

粉丝