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

📄 main.c

📁 内容包括S3C44B0X下AD功能测试的源程序
💻 C
字号:
#include "44b.h"
#include"uhal.h"
#include "option.h"
#include"def.h"

#pragma import(__use_no_semihosting_swi) 
/********************************************/
//   ARM实验:A/D接口应用测试
//   描述:A/D转换程序                    
//  修改日期:2006年3月14日
/********************************************/


#define ADCCON_FLAG		0x40
#define ADCCON_SLEEP		0x20

#define ADCCON_ADIN0		(0x0<<2)
#define ADCCON_ADIN1		(0x1<<2)
#define ADCCON_ADIN2		(0x2<<2)
#define ADCCON_ADIN3		(0x3<<2)
#define ADCCON_ADIN4		(0x4<<2)
#define ADCCON_ADIN5		(0x5<<2)
#define ADCCON_ADIN6		(0x6<<2)
#define ADCCON_ADIN7		(0x7<<2)

#define ADCCON_READ_START	0x2
#define ADCCON_ENABLE_START	0x1

void init_ADdevice()
{//初始化
	rADCPSR=20;
	rADCCON=ADCCON_SLEEP;
}

int GetADresult(int channel)
{
	rADCCON=(channel<<2)|ADCCON_ENABLE_START;
	Delay(10);
	while(!(rADCCON&ADCCON_FLAG));//转换结束
	return rADCDAT;//返回采样值
}
int main(void)
{
	int i;
	float d;

	ARMTargetInit();	//开发版初始化
	init_ADdevice();
	Uart_Printf("\n*************************************************************************");
	Uart_Printf("\n*                南京航空航天大学ARM7开发平台                   ");   
	Uart_Printf("\n*                            A/D  TEST                         ");
	Uart_Printf("\n*                编写时间: 2006-03-14 with ADS 1.2                    ");
	Uart_Printf("\n*-----------------------------------------------------------------------*\n");
       Uart_Printf("通过改变通道1和通道2的电位计的值来改变采样数据\n");
	Uart_Printf("通过向通道3和通道4直接输入模拟电压来改变采样数据\n");

       while(1){
		    for(i=0; i<=3; i++){//采样0~3路A/D值
			    d=GetADresult(i)*2.5/1023; // 数据 采集,处理
			    Uart_Printf("通道%d=%f\t",i,d);
			    Delay(1000);
		    	}
		    Uart_Printf("\r");
       	}

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -