英飞凌TC264之ADC

ADC:
ADC理论有8个转换器,可同步转换;每个转换8个通道,精度为8/10/12位。
ADC端口AN可以作为输入口,不可作为输出口,与ARM单片机不同!

ADC初始化:

/*
*  参数说明:channel  ADC通道
*  参数说明:Freq_Hz  ADC通道采样频率     注意 ADC有三个模块 通道0-13  16-25  35-49分别属于这三个通道  这里使用扫描采样方式,因此如果一个ADC模块同时初始化了N个通道,则ADC实际采用率 = Freq_Hz / N
*  函数返回:无
*/
void ADC_InitConfig(ADC_Channel_t channel, unsigned long Freq_Hz)
{
}

初始化后在使用读ADC_Read就可以读取ADC的值

unsigned short ADC_Read(ADC_Channel_t  chn)
{
}

例程:

void Test_ADC_7mic(void)
{
    char txt[200];
    unsigned int MICVmin[8];

    ADC_InitConfig(ADC0, 80000); //初始化
    ADC_InitConfig(ADC1, 80000); //初始化
    ADC_InitConfig(ADC2, 80000); //初始化
    ADC_InitConfig(ADC3, 80000); //初始化
    ADC_InitConfig(ADC4, 80000); //初始化
    ADC_InitConfig(ADC5, 80000); //初始化
    ADC_InitConfig(ADC6, 80000); //初始化
    ADC_InitConfig(ADC7, 80000); //初始化
    delayms(500);                //延时等待
	UART_PutStr(UART0,"\n-------------------------------------------------\n");//分界线
	while(1)
	{
		MICVmin[0]=ADC_Read(ADC0);
		MICVmin[1]=ADC_Read(ADC1);
		MICVmin[2]=ADC_Read(ADC2);
		MICVmin[3]=ADC_Read(ADC3);
		MICVmin[4]=ADC_Read(ADC4);
		MICVmin[5]=ADC_Read(ADC5);
		MICVmin[6]=ADC_Read(ADC6);
		MICVmin[7]=ADC_Read(ADC7);

		//转换结果为字符串,串口发送或者屏幕显示
		sprintf(txt,"[0]:%05d  [1]:%05d  [2]:%05d  [3]:%05d  [4]:%05d  [5]:%05d  [6]:%05d  [7]:%05d  \r\n",MICVmin[0],MICVmin[1],MICVmin[2],MICVmin[3],MICVmin[4],MICVmin[5],MICVmin[6],MICVmin[7]);
		//串口发送到上位机
		UART_PutStr(UART0,txt);//AN0--AN7十进制数据输出到上位机


    	LED_Ctrl(LED0,RVS);        //电平翻转,LED闪烁
		delayms(500);              //延时等待
	}
}

先初始化ADC,采样频率是80000,初始化完后在while里一直读取ADC的数值,然后再通过串口发送给上位机。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值