AD7689的驱动程序

AD7689的驱动程序
和之前AD5648的驱动程序想法类似,直接放代码了,之后想起啥再补啥吧

#ifndef _Driver_AD7689_H
#define _Driver_AD7689_H

enum AD7689_CH{
   IN0=(0x3C41<<2),IN1=(0x3CC1<<2),IN2=(0x3D41<<2),IN3=(0x3DC1<<2),IN4=(0x3E41<<2),IN5=(0x3EC1<<2),IN6=(0x3F41<<2),IN7=(0x3FC1<<2)};

typedef struct AD7689_TAGE
{
   
	Port SCK;
	Port CNV;
    Port DIN;
	Port SDO;
	unsigned short (*SPI_Service) (struct AD7689_TAGE *,enum AD7689_CH);
    
    float RefVoltage;
	
} AD7689_Config,* p_AD7689_Config;


/*******************************************
接口
********************************************/
extern u8 AD7689_Chip_Count;
extern AD7689_Config AD7689_Config_chip[];
void AD7689_GPIO_Init(void);

extern u16 AD7689_SPI(p_AD7689_Config p,enum AD7689_CH DataToAD7689);
extern u16 AD7689_Average_Value(p_AD7689_Config p,enum AD7689_CH DataToAD7689);
extern u32 AD7689_MDP_Read(p_AD7689_Config p,enum AD7689_CH channel);
float AD7689_fvalue(p_AD7689_Config p,enum AD7689_CH channel);
#include "include_headfiles.h"

#define AD7689_SCK_H 					GPIO_SetBits(p->SCK.IO_Group,p->SCK.IO_Pin)
#define AD7689_SCK_L 					GPIO_ResetBits(p->SCK.IO_Group,p->SCK.IO_Pin)

#define AD7689_CNV_H 					GPIO_SetBits(p->CNV.IO_Group,p->CNV.IO_Pin)
#define AD7689_CNV_L 					GPIO_ResetBits(p->CNV.IO_Group,p->CNV.IO_Pin)

#define AD7689_DIN_H 					GPIO_SetBits(p->DIN.IO_Group,p->DIN.IO_Pin)
#define AD7689_DIN_L 					GPIO_ResetBits(p->DIN.IO_Group,p->DIN.IO_Pin)
#define AD7689_SDO 				    	GPIO_ReadInputDataBit(p->SDO.IO_Group,p->SDO.IO_Pin)


#define AD7689_SPI_DELAY 				6


static void AD7689_delay(u8 time);

stat
  • 5
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
ad7689是一款高精度的AD转换器芯片,而Net X90是一款颇受欢迎的嵌入式网络处理器。在使用ad7689芯片时,可以通过编写适应Net X90的驱动程序来实现其正常工作。 首先,驱动程序需要包含与Net X90芯片通信的相关代码。这可以通过使用适当的通信接口(例如SPI或I2C)和IO引脚来实现。驱动程序还应该提供读取和写入寄存器的功能,以便与ad7689进行数据交换。这些寄存器包括配置寄存器和数据寄存器,用于设置转换参数和接收转换结果。 其次,驱动程序需要将ad7689的工作模式和采样率等参数进行设置。可以通过将适当的值写入配置寄存器来实现此功能。此外,驱动程序还应该实现处理和解析来自ad7689的转换结果的功能,并将其返回给应用程序。 另外,驱动程序还应该提供适当的错误处理机制,以便在发生错误时能够及时通知应用程序。这可能包括检测通信错误、转换错误或其他故障,并向应用程序发送错误代码或错误信息。 最后,在编写驱动程序时,还应该考虑到性能和效率方面的因素。由于AD转换器通常需要在较短的时间内完成转换和数据交换,驱动程序应该尽可能地优化,以确保稳定和高效的工作性能。 总之,通过编写适应Net X90的驱动程序,能够实现ad7689芯片的正常工作,并实现与外部应用程序的数据交换。这样,用户可以方便地利用ad7689芯片的高精度特性,并应用于各种嵌入式系统和应用中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值