资源简介
上次传的程序有点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普通直流电机串口控制模板
相关资源
- 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芯片的共阳极数码管驱
- stm32f103AES加密 cbc模式
- 中国移动 M5310 模组资料 DEMO 例程- S
- STM32F103移植rt-thread
- PCA9685驱动STM32F103
- Keil.STM32L0xx_DFP.2.0.0.pack
- stm32f103c8t6-max31865-pt100测温
- Keil5下的STM32F407程序
- stm32F103C8外部flash图片显示
- STM32F103 ADC测电压 代码
- stm32f103测量pm2.5源码
- STM32F103C8T6与MQTT通信的源码
- STM32F103C8T6读取DS18B20串口显示程序.r
评论
共有 条评论