• 大小: 3.04MB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2023-10-02
  • 语言: 其他
  • 标签: AD7616  KEIL5  STM32F1  

资源简介

上次传的程序有点BUG,鲁棒性很不好,不能上电就运行。这次这个,上电后即可运行。程序是位操作的。

资源截图

代码片段和文件信息

#include “ad7616.h“  

u8  AD_RD = 1;
u16 AD_DATA[2];   //AD CODE
u16 ad_f[36] ;//={0xffff123456789101112131415160x0d0a181920212223242526272829303132333435};
extern  u8 num_flag;

/**********************************************************
** 函数名:void ad7616_init()
** 功能描述: AD初始化
** 输入参数: 无
** 输出参数: 无
** 备    注:配置控制端口,并设初值
             端口名称   端口号     初值    锁定
             RESET      PG9         0       0   
             SEQEN      PG8         0       1   
             SER/PAR    PG7         0       1
             WR         PG6         1       0
             RD         PG5         1       0
             CS         PG4         1       0
             CHSEL0/1/2 PG3/2/1     0/0/0   1/1/1
             CONVST     PG0         0       0
             十六进制               0x070   0x18E
***********************************************************/
void ad7616_init()
{
    /*打开GPIOG的时钟0000 0000 0001 0000 0000  第3位开始为GPIOA*/
RCC->APB2ENR |= 1<<8;

   
    /* 设置GPIOG的为推挽输出 */
    GPIOG->CRL &= 0x00000000;
    GPIOG->CRH &= 0xFFFFFF00;
    GPIOG->CRL |= 0x22222222;
    GPIOG->CRH |= 0x00000022;
    ;;;;
    /* 初始化为Io口 */
    GPIOG->ODR &= 0xF000;
    GPIOG->ODR |= 0x0070;
    /*锁定端口设置*/
    GPIOG->LCKR |= 0x018E;
    /*******关断模式********/
    /* PG9置0*/
    GPIOG->ODR &= 0xFDFF;
    delay_us(100);
    /* PG9置1*/
    GPIOG->ODR |= 0x0200;
    delay_ms(18);
    /***************/
    delay_ms(5);
    RESET_All();
    delay_ms(10);
    
}

/**********************************************************
** 函数名:void RESET_All()
** 功能描述: AD复位函数
** 输入参数: 无
** 输出参数: 无
** 备    注:无
***********************************************************/
void RESET_All()
{
    delay_ms(1);
    /* PG9置0*/
    GPIOG->ODR &= 0xFDFF;
    delay_us(10);
    /* PG9置1*/
    GPIOG->ODR |= 0x0200;
    delay_ms(18);
}

void RESET_Por()
{
    u8 i=10;
    /* PG9置0*/
    GPIOG->ODR &= 0xFDFF;
    do
    {
    }while(i--);
    /* PG9置1*/
    GPIOG->ODR |= 0x0200;
    delay_ms(16);
}


/**********************************************************
** 函数名:void AD_Write(u16 CH)
** 功能描述: AD写数据
** 输入参数: 需要写入的数据
** 输出参数: 无
** 备    注:CS (PG4) WR(PG6)置0
***********************************************************/
void AD_Write(u16 CH)
{
    GPIOD_Out_Init();
    GPIOD->ODR |= CH;
    GPIOG->ODR &= ~(1<<4);   //CS (PG4)置0
    ;;;;;
    GPIOG->ODR &= ~(1<<6);   //WR (PG6)置0
    ;;;;;;;;;;;;;;;;;
    GPIOG->ODR |=   1<<6;   //WR (PG6)置1
    ;;;;;
    GPIOG->ODR |=   1<<4;   //CS (PG4)置1
    GPIOD->ODR &= 0x0000;
    
}

/**********************************************************
** 函数名:void AD_Read(void)
** 功能描述: 从AD读取数据
** 输入参数: 无
** 输出参数: 读取的数据写至AD_DATA中
** 备    注:CS (PG4) RD(PG5)置0       
***********************************************************/
void AD_Read(void)
{
    
    GPIOG->ODR &= ~(1<<4);   //CS (PG4)置0
    ;
    GPIOG->ODR &= ~(1<<5);   //RD (PG5)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      77856  2018-12-14 16:01  Listing\Project.map

     文件      54476  2018-12-11 11:44  Listing\startup_stm32f10x_hd.lst

     文件     285512  2018-12-14 16:01  Output\ad7616.crf

     文件       1353  2018-12-14 16:01  Output\ad7616.d

     文件     320440  2018-12-14 16:01  Output\ad7616.o

     文件     270766  2017-07-25 20:45  Output\bsp_led.crf

     文件        779  2017-07-25 20:45  Output\bsp_led.d

     文件     287396  2017-07-25 20:45  Output\bsp_led.o

     文件     270465  2017-07-25 20:45  Output\bsp_systick.crf

     文件        851  2017-07-25 20:45  Output\bsp_systick.d

     文件     291572  2017-07-25 20:45  Output\bsp_systick.o

     文件       3953  2018-12-11 11:44  Output\core_cm3.crf

     文件        121  2018-12-11 11:44  Output\core_cm3.d

     文件      11316  2018-12-11 11:44  Output\core_cm3.o

     文件     271067  2018-12-11 11:44  Output\delay.crf

     文件        751  2018-12-11 11:44  Output\delay.d

     文件     292260  2018-12-11 11:44  Output\delay.o

     文件     277571  2018-12-11 11:44  Output\dma.crf

     文件        811  2018-12-11 11:44  Output\dma.d

     文件     300220  2018-12-11 11:44  Output\dma.o

     文件     281050  2017-07-25 20:45  Output\encoder.crf

     文件       1002  2017-07-25 20:45  Output\encoder.d

     文件     304592  2017-07-25 20:45  Output\encoder.o

     文件         19  2018-12-14 14:51  Output\ExtDll.iex

     文件     283591  2018-12-11 13:31  Output\exti.crf

     文件       1291  2018-12-11 13:31  Output\exti.d

     文件     307316  2018-12-11 13:31  Output\exti.o

     文件     283644  2018-12-11 13:30  Output\gpio_init.crf

     文件       1436  2018-12-11 13:30  Output\gpio_init.d

     文件     308364  2018-12-11 13:30  Output\gpio_init.o

............此处省略186个文件信息

评论

共有 条评论