搜索
bottom↓
回复: 11

新手刚学 msp430 流水灯没反应 求指教

[复制链接]

出0入0汤圆

发表于 2013-8-25 12:08:26 | 显示全部楼层 |阅读模式
程序代码如下:
#include <msp430x14x.h>
#define uint unsigned int;
# define  uchar unsigned char
/*延时函数*/
void delay(unsigned int cnt)
{
while(--cnt);
}
/*主函数*/
int main( void )
{
  
  WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset
  P2DIR=0xff;//配置P2口方向为全部输出
  P2SEL=0x00;
  while(1)
  {
    P2OUT=0xfe;//0xfe=11111110
    delay(30000);//延时程序
    P2OUT<<=1;      //左移一位 该语句等效于 P1=P1<<1
    P2OUT|=0x01;    //最后一位补1,该语句等效于 P1=P1|0x01 符号"|"表示"或"
    if(P2OUT==0x7f)
    {
      delay(30000);//延时程序
       P2OUT^=0xfe;//0xff=11111111
    }
   
  }
  
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2013-8-25 12:08:55 | 显示全部楼层
哪里有问题?

出0入0汤圆

发表于 2013-8-25 12:55:47 | 显示全部楼层
开发板吗?还是自己搭的板子,建议先看下芯片工作了没有……

出0入0汤圆

 楼主| 发表于 2013-8-25 13:11:51 | 显示全部楼层
淘宝上卖的最小系统开发板   板子没问题  应该就是程序的问题   

出0入0汤圆

发表于 2013-8-25 13:29:46 | 显示全部楼层
有钱的话还是买个仿真器吧

出0入0汤圆

 楼主| 发表于 2013-8-25 13:33:30 | 显示全部楼层
额   仿真器就算了吧   太贵了   

出0入0汤圆

 楼主| 发表于 2013-8-25 13:34:26 | 显示全部楼层
新代码如下,但感觉太繁琐:

#include "msp430x14x.h"
#define uchar unsigned char
#define uint  unsigned int
uchar LED;
uint table[8]={BIT0,BIT1,BIT2,BIT3,BIT4,BIT5,BIT6,BIT7,};

int main( void )
{
  WDTCTL = WDTPW + WDTHOLD;// Stop watchdog timer to prevent time out reset
  LED=0xff;
  P2DIR=0xff;
  P2OUT=LED;
  while(1)
  {
    uint i,j;
    for(i=0;i<8;i++)  
    {
      LED=LED^table[i];
    P2OUT=LED;
    LED=0xff;
    j=50000;
    while(j--);
    }
  }
  

}

出0入0汤圆

 楼主| 发表于 2013-8-25 14:23:26 | 显示全部楼层

#include "msp430x14x.h"
#define uchar unsigned char
#define uint  unsigned int
/*延时程序*/
void delay(uint cnt) //简单的延时
{
while(--cnt);
}
/*主函数*/
void main()
{
  WDTCTL = WDTPW + WDTHOLD;                 // 关狗
  P2DIR = 0xff;                             // P2端口设置为输出
   P2OUT=0xfe;//给初始化值
   while(1)
   {
     
     delay(3000);//delay at crystal frequency in 12MHz
     P2OUT<<=1;//左移一位
      P2OUT|=0x01;//最后一位补1
   if(P2OUT==0x7f)//检测是否移到最左端?
          {
              delay(30000);//delay
              P2OUT=0xfe;
          }
      }
}

出0入0汤圆

发表于 2013-8-25 16:23:30 | 显示全部楼层
时钟没配置

出0入0汤圆

 楼主| 发表于 2013-8-25 16:53:49 | 显示全部楼层
额    已经弄好了  好像不是时钟的问题   “ P2OUT=0xfe;//给初始化值  把这句放在while(1)外面就好了   但是不知道为啥   

出0入0汤圆

发表于 2013-9-10 09:38:34 | 显示全部楼层
本帖最后由 moyanqd 于 2013-9-10 09:41 编辑
忘川 发表于 2013-8-25 16:53
额    已经弄好了  好像不是时钟的问题   “ P2OUT=0xfe;//给初始化值  把这句放在while(1)外面就好了   但 ...


不知道为啥?? 初始化和运行的区别呗 放到里面语句始终在运行,每次移位,都是对0xfe移位,这是你的原意吗

出0入0汤圆

 楼主| 发表于 2013-9-10 20:50:55 | 显示全部楼层
moyanqd 发表于 2013-9-10 09:38
不知道为啥?? 初始化和运行的区别呗 放到里面语句始终在运行,每次移位,都是对0xfe移位,这是你的原意 ...

明白了  谢大神指点
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-26 21:06

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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