MSP430编译MLX90614失败

在用MSP430G2553调试MLX90614红外测温传感器时,输出的值始终为-273.1,我认为应该是读取寄存器内容为0所致,我的程序使用STM32程序修改后进行调试的,原32程序输出正确,但误差较大。修改前后的程序时序相同,但就是无法使用MSP430进行调试,想请大神帮忙看看是哪里有问题。
原32程序详见:https://blog.csdn.net/qq_39400113/article/details/107099944?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.add_param_isCf&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-6.add_param_isCf

以下为430程序,求指教:
#define MCLK 8000000
#define CPU_F ((double)MCLK)

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0)) // MS级延时函数

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0)) // US级延时函数

#define delay_s(x) __delay_cycles((long)(CPU_F*(double)x/1.0)) // S级延时函数

#define ACK 0
#define NACK 1 //不应答或否定的应答
#define SA 0x5A //从机地址,单个MLX90614时地址为0x00,多个时地址默认为0x5a
#define RAM_ACCESS 0x00 //RAM access command
#define EEPROM_ACCESS 0x20 //EEPROM access command
#define RAM_TOBJ1 0x07 //To1 address in the eeprom

#define SDA_OUT P2DIR|=BIT3
#define SDA_H P2OUT|=BIT3
#define SDA_L P2OUT&=~BIT3
#define SDA_IN P2DIR&=~BIT3
#define SDA ((P2IN&BIT3)>>1)

#define SCL_OUT P2DIR|=BIT4 //SCL低电平时,SDA管脚上数据发生改变;SCL上升沿,MD和SD读取数据
#define SCL_H P2OUT|=BIT4
#define SCL_L P2OUT&=~BIT4

volatile unsigned int x=2;
unsigned char PEC; //错误代码包
unsigned char TEMPL;
unsigned char TEMPH;

void SMBus_StartBit(void);
void SMBus_StopBit(void);
void SMBus_SendBit(unsigned char);
unsigned char SMBus_SendByte(unsigned char);
unsigned char SMBus_ReceiveBit(void);
unsigned char SMBus_ReceiveByte(unsigned char);
unsigned short SMBus_ReadMemory(unsigned char, unsigned char);
unsigned char PEC_Calculation(unsigned char*);
float SMBus_ReadTemp(void);

void mlx09614_init() //传感器初始化
{
SDA_OUT;
SCL_OUT;
P2REN|=BIT3+BIT4;
P2OUT &= ~ BIT3 + BIT4;

}
/*******************************************************************************

  • 函数名: MLX90614MLX90614 发起始位 SMBus_StartBit
  • 功能 : MLX90614 发起始位 产生起始位
  • Input : None
  • Output : None
  • Return : None

*******************************************************************************/
void SMBus_StartBit(void

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值