资源简介
上次传的程序有点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个文件信息
- 上一篇:AD7616采集16通道并通过串口发送
- 下一篇:stm32普通直流电机串口控制模板
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- STM32F103 串口程序(完整版)
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32F103 CC2500完整驱动(模拟SPI)
- SX1280.rar
- STM32F103C8T6+NRF24l01无线通信
- VS1053B编解码器的VDR分布式声音采集卡
- stm32f103.SchDoc
- STM32F103 USART+DMA
- stm32f105-usart-DMA收发demo
- 基于STM32F103C8单片机的晶联讯电子JL
- STM32F103实现OV7670摄像头显示
- STM32F103VCT6TR - High-density performance lin
- stm32f103 虚拟U盘,调试成功的
- 基于stm32F103vct6的SD卡FATFS文件系统移植
- STM32F103启动文件HD;MD
- STM32 自带内部FLASH 读写
- 基于STM32F103的实时时钟程序,采用D
- STM32F103系列PWM输出应用之纸短情长音
- STM32F103移植FreeModbus实现modbus主机.zi
- 基于STM32F103C8T6的循迹避障小车完成
- STM32F1单片机MPU6050加速度计陀螺仪驱动
- STM32F1单片机MS5611高精度气压计驱动工
- 基于STM32+TM1638芯片的共阳极数码管驱
评论
共有 条评论