白姐透特今晚开什么码

ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
打印

[应用相关]应变片、电桥相关的设计资料

[复制链接]
672|49
跳转到指定楼层
楼主

相关资料

沙发
 楼主|2019-12-22 09:29|只看该作者
板凳
 楼主|2019-12-22 09:30|只看该作者
地板
 楼主|2019-12-22 09:30|只看该作者
5
 楼主|2019-12-22 09:31|只看该作者
6
 楼主|2019-12-22 09:31|只看该作者
7
 楼主|2019-12-22 09:32|只看该作者
8
 楼主|2019-12-22 09:32|只看该作者
9
 楼主|2019-12-22 09:37|只看该作者
STM32相关的程序

main.rar

白姐透特今晚开什么码2.19 KB, 下载次数: 0

10
 楼主|2019-12-22 09:37|只看该作者

#define AD7190_CS_H GPIO_SetBits(GPIOD,GPIO_Pin_0)
#define AD7190_CS_L GPIO_ResetBits(GPIOD,GPIO_Pin_0)
#define AD7190_SCLK_H GPIO_SetBits(GPIOD,GPIO_Pin_1)
#define AD7190_SCLK_L GPIO_ResetBits(GPIOD,GPIO_Pin_1)
#define AD7190_DIN_H GPIO_SetBits(GPIOD,GPIO_Pin_2)
#define AD7190_DIN_L GPIO_ResetBits(GPIOD,GPIO_Pin_2)
#define AD7190_DOUT GPIO_ReadInputDataBit(GPIOD,GPIO_Pin_4)

11
 楼主|2019-12-22 09:39|只看该作者
void AD7190_INIT(void)
{
  Delay(100);
  AD7190_CS_L;
  AD7190Write(0x60);
  AD7190_ID=AD7190Read_Byte();//读取AD7190 ID = 0xX4
  AD7190_CS_H;
  Delay(100);
  AD7190_CS_L;
  AD7190Write(0x10);//向配置寄存器写入24Bit配置数据
  AD7190Write(0x00);//CON23-CON16
  AD7190Write(0x02);//CON15-CON8
  AD7190Write(0x07);//CON7-CON0  0x00:GAIN=1;
                               //0x03:GAIN=8;
                               //0x04:GAIN=16;
                               //0x07:GAIN=128; (GAIN=128时,输入范围为+-39.06mV)
  AD7190_CS_H;
  Delay(100);
  AD7190_CS_L;
  AD7190Write(0x08);//向模式寄存器写入24Bit配置数据
  AD7190Write(0x08);//MR23-MR16  
  AD7190Write(0x00);//MR15-MR8
  AD7190Write(0x3F);//MR7-MR0  fs(MR0-MR9) = 0x00ff = 255,即数据输出速率为4920/255=19.2sps
                    //0x00 0xff:19.2sps
                    //0x00 0x3f:78sps
                    //0x00 0x1f:164sps
                    //0x00 0x0f:328sps
                    //0x00 0x05:984sps
  AD7190_CS_H;
}
12
 楼主|2019-12-22 09:39|只看该作者
void read_reg(void)//读取配置寄存器与模式寄存器函数,用于验证配置数据是否正确写入
{
    //读取3Byte配置寄存器数据
  Delay(100);
  AD7190_CS_L;
  AD7190Write(0x50);//write communication register 0x50 to control the progress to read configuration register
  AD7190_CS_H;
  Delay(100);
  AD7190_CS_L;
  conf_reg[0]=AD7190Read_Byte();
  conf_reg[1]=AD7190Read_Byte();
  conf_reg[2]=AD7190Read_Byte();
  AD7190_CS_H;
  //读取3Byte模式寄存器数据
  Delay(100);
  AD7190_CS_L;
  AD7190Write(0x48);//write communication register 0x50 to control the progress to read configuration register
  AD7190_CS_H;
  Delay(100);
  AD7190_CS_L;
  mode_reg[0]=AD7190Read_Byte();
  mode_reg[1]=AD7190Read_Byte();
  mode_reg[2]=AD7190Read_Byte();
  AD7190_CS_H;
}
13
 楼主|2019-12-22 09:40|只看该作者
void AD7190Write(uint8_t Data)
{
  uint8_t data;
  data=Data;
  for(uint8_t i=0;i<8;i++)
  {
    AD7190_SCLK_L;
    if(data&0x80)
    AD7190_DIN_H;
    else
    AD7190_DIN_L;
    Delay(100);
    AD7190_SCLK_H;
    Delay(100);
    data<<=1;
  }
}
14
 楼主|2019-12-22 09:40|只看该作者
uint32_t AD7190Read(void)
{
  uint32_t DATA;
  DATA=0;
  for(uint8_t i=0;i<24;i++)
  {
    DATA<<=1;
    AD7190_SCLK_L;
    Delay(50);
    if(AD7190_DOUT)
    DATA++;
    AD7190_SCLK_H;
    Delay(50);
  }
  Delay(100);
  return DATA;
}
15
 楼主|2019-12-22 09:40|只看该作者
uint8_t AD7190Read_Byte(void)
{
  uint8_t DATA;
  DATA=0;
  for(uint8_t i=0;i<8;i++)
  {
    DATA<<=1;
    AD7190_SCLK_L;
    Delay(100);
    if(AD7190_DOUT)
    DATA++;
    AD7190_SCLK_H;
    Delay(100);
  }
  Delay(100);
  return DATA;
}
16
 楼主|2019-12-22 09:41|只看该作者
void AD7190_Reset(void)
{
  AD7190_CS_L;
  AD7190_DIN_H;
  for(uint8_t a=0;a<50;a++)//提供大于40个写操作,复位AD7190
  {
    AD7190_SCLK_L;
    Delay(100);
    AD7190_SCLK_H;
    Delay(100);
  }
  AD7190_CS_H;
}
17
 楼主|2019-12-22 09:41|只看该作者
18
 楼主|2019-12-22 09:42|只看该作者
19
 楼主|2019-12-22 09:45|只看该作者
20
 楼主|2019-12-22 09:46|只看该作者
扫描二维码,随时随地手机跟帖

本版积分规则

我要发帖投诉建议创建版块

快速回复

您需要登录后才可以回帖
登录 | 注册

论坛热帖

在线客服 快速回复 返回顶部返回列表