MSP430F2618写TLV5638
Posted xxniuren
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MSP430F2618写TLV5638相关的知识,希望对你有一定的参考价值。
/*===========================================*******************5638使用说明***********
5638内部含有两个通道,通道A 通道B 同时还含有内部1.024 2.048的
参考,通过选择不同的通道和不同的参考,达到输出的目的 fast mode ,slow mode, power down mode, normal mode 不考虑
电压和TLV5615一样*2的增益
选择通道A
write_TLV_5638(0xd001);A通道1.024基准电压
write_TLV_5638(0xd002);A通道2.048基准电压
write_TLV_5638(0xcxxx); xxx代表输入的数字量
选择通道B
write_TLV_5638(0xd001);B通道1.024基准电压
write_TLV_5638(0xd002);B通道2.048基准电压
write_TLV_5638(0x4xxx); xxx代表输入的数字量
同时选择两个通道
write_TLV_5638(0x9001);B通道1.024基准电压
write_TLV_5638(0x9002);B通道2.048基准电压
write_TLV_5638(0x1xxx); xxx代表B输入的数字量
write_TLV_5638(0x8xxx); xxx代表A输入的数字量
=============================================*/
#include"msp430x26x.h"
#include"TLV5638.h"
//===============DELAY=========================
void delay_DA(uint xms)
uint i,j;
for(i = xms; i > 0; i--)
for(j = 220; j > 0; j--);
//==============wirte_TLV_5638==========================
void write_TLV_5638(uint data)
uint i;
TLV_5638_DIR;
TLV_5638_OUT;
CS_H;
CS_L;
delay_DA(1);
for(i = 0; i < 16; i++)
SCLK_H;
if(data & 0x8000) DATA_H;
else DATA_L;
SCLK_L;
data <<= 1;
SCLK_H;
CS_H;
//==============wirte_comB=========
void write_comB(uint value)
write_TLV_5638(0xd001);//choose regi
delay_DA(5);
value = (0x4000 | value);
write_TLV_5638(value);//对B 写0
delay_DA(5);
//==================================
以上是关于MSP430F2618写TLV5638的主要内容,如果未能解决你的问题,请参考以下文章