📄 main.c
字号:
#include "bf5xx.h"
#include "types.h"
uint8_t databuf[256];
uint8_t cmd[2];
/****************************************************************************
* 名称 : Printf_VDD
* 功能 : 打印选定端点的输入电压值
* 入口参数 :Num 输入电压信道号(1-4) ,buffer AD寄存器数据缓存
* 出口参数 :无
****************************************************************************/
void Printf_VDD(uint8_t Num,uint8_t *buffer)
{
unsigned int VDD_value,LSB_value;
unsigned int Print_VDD;
ADT7516_READ_REG(0x00,64,buffer);
LSB_value = buffer[4];
switch(Num)
{
case 1:
VDD_value = buffer[8];
VDD_value <<=2;
VDD_value = VDD_value|((LSB_value) &0x3);
printf("Channel NO.1 value is %d\r\n",VDD_value);
break;
case 2:
VDD_value = buffer[9];
VDD_value <<=2;
VDD_value = VDD_value|((LSB_value>>2) &0x3);
printf("Channel NO.2 value is %d\r\n",VDD_value);
break;
case 3:
VDD_value = buffer[10];
VDD_value <<=2;
VDD_value = VDD_value|((LSB_value>>4) &0x3);
printf("Channel NO.3 value is %d\r\n",VDD_value);
break;
case 4:
VDD_value = buffer[11];
VDD_value <<=2;
VDD_value = VDD_value|((LSB_value>>6) &0x3);
printf("Channel NO.4 Value is %d\r\n",VDD_value);
break;
default : printf("Voltage Channel ERROR!\r\n");
break;
}
}
/****************************************************************************
* 名称 : ADT7516_DA
* 功能 : 打印选定端点的输入电压值
* 入口参数 :OutVoltage 输入要输出电压值对应的16进制数据
* 出口参数 :无
****************************************************************************/
void ADT7516_DA(uint8_t Num ,uint8_t OutVoltage)
{
*pCtrOut_Flag_C=AD_LDAC;
cmd[0]=OutVoltage;
switch(Num)
{
case 1: ADT7516_WRITE_REG(0x11,cmd,1);break;
case 2: ADT7516_WRITE_REG(0x13,cmd,1);break;
case 3: ADT7516_WRITE_REG(0x15,cmd,1);break;
case 4: ADT7516_WRITE_REG(0x17,cmd,1);break;
default : printf("Voltage Channel ERROR!\r\n"); break;
}
*pCtrOut_Flag_C &= (0xff&(~AD_LDAC));
mdelay(500);
udelay(0x3ff);
}
void main(void)
{
Set_PLL(20,5);
Init_EBIU();
ADT7516_SPISS_SELECT();
ADT7516_SPI_init();
ADT7516_RST();
ADT7516_CTL();
ADT7516_TEST(); //读取ID号
while(1)
{
ADT7516_READ_REG(0x00,64,databuf); //读取ADT7516 寄存器
Printf_VDD(2,databuf); //打印通道电压值
ADT7516_DA(1,0x70); //通道1输出电压
ADT7516_DA(2,0x80);
ADT7516_DA(3,0x90);
ADT7516_DA(4,0xa0);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -