#include "sys.h"
#include "tlv5616.h"
#include "delay.h"
void TLV5616_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //????GPIOB?????±??
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_8|GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //???ì????
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO????????50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //?ù????????????GPIOB.8
GPIO_ResetBits(GPIOB,GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_8|GPIO_Pin_9);//????1??
}
void TLV5616_date(u8 data)
{
u16 i;
tlv5616_cs=0;
tlv5616_clk=1;
tlv5616_fs=0;
for(i=0;i<16;i++)
{
delay_us(2);
if((data&0x8000)==0x8000)
tlv5616_data=1;
else
tlv5616_data=0;
tlv5616_data=(data&0x8000);
tlv5616_clk=0;
delay_us(100);
data<<=1;
tlv5616_clk=1;
delay_us(100);
}
tlv5616_cs=1;
tlv5616_fs=1;
tlv5616_clk=0;
for(i=0;i<16;i++);
}
附上
#ifndef __tlv5616_H
#define __tlv5616_H
#include "sys.h"
#define tlv5616_data PBout(8)
#define tlv5616_cs PBout(9)
#define tlv5616_fs PBout(4)
#define tlv5616_clk PBout(5)
void TLV5616_Init(void); //??????
void TLV5616_Date(u16 data);
#endif
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
其中的引脚和AD芯片的接法都有,大家共享资源
一周热门 更多>