⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 此文件是在visual dsp++下面初始化ADT7516的源代码
💻 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 + -