社区导航

 

搜索
查看: 1963|回复: 5

[求助] tlv5616出不来数据,麻烦大家看看我的程序有没问题。。

[复制链接]

6

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2012-8-7 11:45 | 显示全部楼层 |阅读模式
#include "msp430x14x.h"
#define uint  unsigned int
#define uchar unsigned char
#define CPU_F ((double)8000000)
#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))
#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))
#define clk_clc  P1OUT&=~BIT0;
#define clk_set  P1OUT|=BIT0;
#define cs_clc  P1OUT&=~BIT1;
#define cs_set  P1OUT|=BIT1;
#define fs_clc  P1OUT&=~BIT2;
#define fs_set  P1OUT|=BIT2;
uint current=4000;
void Clock_Init()
{
  uchar i;
  BCSCTL1&=~XT2OFF;                 //打开XT2振荡器
  BCSCTL2|=SELM1+SELS;              //MCLK为8MHZ,SMCLK为8MHZ
  do{
    IFG1&=~OFIFG;                   //清楚振荡器错误标志
    for(i=0;i<100;i++)
       _NOP();
  }
  while((IFG1&OFIFG)!=0);           //如果标志位1,则继续循环等待
  IFG1&=~OFIFG;
}
void tlv5616_da(uint da)
{
   uchar i;   
   //da<<=4;  
    clk_set;
   cs_clc;   
  
   fs_clc;
   
   for(i=0;i<16;i++){ _NOP();_NOP();
                      if(da&0x8000)
                         P1OUT|=BIT3;
                      else
                        P1OUT&=~BIT3;
                      clk_clc;
                      _NOP();_NOP();
                       da<<=1;  
                      clk_set;
                     _NOP();_NOP();     
                    }   
//delay_us(10) ;
  clk_set;   
  cs_set;
  fs_set;
  _NOP();
// clk_clc;
  
}
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  Clock_Init();
  P1DIR=0x0f;
// P1IE|=BIT4+BIT5;
// P1IES|=BIT4+BIT5;
  for(;;)
  {
         tlv5616_da(4000);
         delay_ms(50);
  }
}
/*#pragma  vector=PORT1_VECTOR
__interrupt void ad(void )
{
  switch(P1IFG)
  {
    case(0x10):current+=4;break;
    case(0x20): current-=4;break;
  }
}*/

点评

调这种通信的程序的时候,最好是有一台示波器,观察时序。这样比较容易找到问题。反正我是这样做得。边调边看示波器  详情 回复 发表于 2012-8-12 11:51


回复

使用道具 举报

4

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-7 14:38 | 显示全部楼层
看到就头痛,楼主是高手哇


回复

使用道具 举报

52

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-11 15:57 | 显示全部楼层
端口使能没开


回复

使用道具 举报

73

TA的帖子

1

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2012-8-12 11:51 | 显示全部楼层

回复 楼主 深夜De风景 的帖子

调这种通信的程序的时候,最好是有一台示波器,观察时序。这样比较容易找到问题。反正我是这样做得。边调边看示波器


回复

使用道具 举报

158

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-11-3 11:14 | 显示全部楼层

你好,这个问题找到了吗?

我也使用中出现一个问题,tlv5616 不管怎么写程序,要重复2次才能更新呢?为什么呢?有人遇到过吗?

点评

是不是程序烧录器设置的问题啊。  详情 回复 发表于 2019-11-5 08:52


回复

使用道具 举报

1680

TA的帖子

0

TA的资源

纯净的硅(初级)

Rank: 4

发表于 2019-11-5 08:52 | 显示全部楼层
shzps 发表于 2019-11-3 11:14 你好,这个问题找到了吗? 我也使用中出现一个问题,tlv5616 不管怎么写程序,要重复2次才能更新呢?为 ...

是不是程序烧录器设置的问题啊。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2019-11-20 04:34 , Processed in 0.199918 second(s), 18 queries , Gzip On, MemCache On.

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