以前写过一篇关于AD7779的文章,利用这段特殊时间一并发布出来供大家学习。
AD7779的调用比较简单,依次进行:
delay_ms(20); //延时,等待芯片的稳定
ad7779_reset(); //进行复位操作
ad7779_init(&(psObj->halAD7779), (psObj->adcChx)); //开始初始化
sysEventsFlag = gmHalState_Normal;
ad7779_reset()函数如下:
void ad7779_reset()
{
reset_ad7779_down; //拉低
delay_ms(8);
reset_ad7779_up; //拉高
}
/* 软件复位 */
ret |= ad7779_spi_soft_reset( &adc_param );
/* 配置 AD7779 通用寄存器 */
ret |= ad7779_spi_cfg_dev( &adc_param );
/* 设置 AD7779 各通道参数 */
ret |= ad7779_setup( &adc_param );
/* 检测内部错误 */
ret |= ad7779_check_error( &adc_param );
/* 测量 SAR */
ret |= ad7779_do_single_sar_conv( adc_param, &ref_val);
/* 检测通道 */
ret |= ad7779_check_channel( &adc_param, ref_val );
/* 若正常,返回状态 */
if (!ret) {
param->reset = TRUE;
param->state = gmAD7779_Normal;
param->adc_ref = adc_param->adc_ref;
}
整个AD7779的驱动已经发布在网上,大家可以自行下载。
补充:好像类似的文章我发布过,并且比这篇还详细。