资源简介
基于STM32单片机的SPI接口对ADC1118芯片的控制,实现模数转化,代码亲测可用,非常易于阅读和移植
代码片段和文件信息
/*
* @file app.c
* @brief 主函数程序
* @ucos-ii V2.86
* @function USART1---UART5 通信
* @compiler RealView MDK-ARM Compiler V4.11
* @peripheral V3.5.0
* @author Yuhaiyang
* @date 2015/10/26
* @corporation 浙江求是科教设备有限公司
* @website http://www.zjqiushi.com/
*/
/* Includes ------------------------------------------------------------------*/
#include “stm32f10x.h“
#include “stm32f10x_conf.h“
#include “bsp.h“
#include “SPI.h“
/* Private variables ---------------------------------------------------------*/
// Systick delay
__IO uint32_t TimingDelay = 0 ;
volatile int ADC_Result;
//uint8_t TxBuffer4[TxBufferSize4];
//uint8_t RxBuffer4[RxBufferSize4] rec_f4;
uint8_t TxBuffer4[4];
uint8_t RxBuffer4[4] rec_f4;
__IO uint8_t TxCounter4 = 0x00;
__IO uint8_t RxCounter4 = 0x00;
//uint8_t NbrOfDataToTransfer4 = TxBufferSize4;
//uint8_t NbrOfDataToRead4 = RxBufferSize4;
__IO TestStatus TransferStatus4 = FAILED;
float AD_Result1 AD_Result2;
uint8_t TxBuffer5[4];
uint8_t RxBuffer5[4] rec_f5;
__IO uint8_t TxCounter5 = 0x00;
__IO uint8_t RxCounter5 = 0x00;
int main(void)
{
BSP_Configuration();
SPI_Configuration();
BSP_USART_Configuration(UART4);
BSP_USART_Configuration(UART5);
if (SysTick_Config(72000)) //时钟节拍中断时1ms一次 用于定时
{
while (1);
}
GPIO_SetBits(GPIOA BSP_AD_CS); //AD(ADS1118)转换片选信号CS,Invalid
GPIO_SetBits(GPIOA BSP_ADC_MISO);
GPIO_ResetBits(GPIOC BSP_GPIOC_LED1);
GPIO_ResetBits(GPIOC BSP_GPIOC_LED2);
Delay(500);
GPIO_SetBits(GPIOC BSP_GPIOC_LED1);
GPIO_SetBits(GPIOC BSP_GPIOC_LED2);
Alarm_Ctrl();
while (1)
{
key_scan();
if(rec_f4==1)
{
rec_f4=0;
Alarm_Ctrl();
BSP_USART_OUT(UART4&TxBuffer4[0]0x04);
}
if(rec_f5==1)
{
rec_f5=0;
Alarm_Ctrl();
BSP_USART_OUT(UART5&TxBuffer5[0]0x04);
}
GPIO_ResetBits(GPIOA BSP_AD_CS); //AD(ADS1118)CS,valid
Delay(10);
SPI_ADC_SendData(SPI1 0xC3E3);
SPI_ADC_SendData(SPI1 0xC3E3);
AD_Result1 = SPI_ADC_SendData(SPI1 0xC3E3)*1.0/32768*4.096;
GPIO_SetBits(GPIOA BSP_AD_CS); //AD(ADS1118)CS,Invalid
Delay(1000);
GPIO_ResetBits(GPIOA BSP_AD_CS); //AD(ADS1118)CS,valid
Delay(10);
SPI_ADC_SendData(SPI1 0xC3E3);
SPI_ADC_SendData(SPI1 0xC3E3);
AD_Result1 = SPI_ADC_ReadByte(SPI1)*1.0/32768*4.096;
GPIO_SetBits(GPIOA BSP_AD_CS); //AD(ADS1118)CS,Invalid
Delay(1000);
// AD-CH2
GPIO_ResetBits(GPIOA BSP_AD_CS); //AD(ADS1118)CS,valid
Delay(10);
SPI_ADC_SendData(SPI1 0xD3E3);
SPI_ADC_SendData(SPI1 0xD3E3);
AD_Result2 = SPI_ADC_SendData(SPI1 0xD3E3)*1.0/32768*4.096;
GPIO_SetBits
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-30 16:14 STM32-DCP-208\
目录 0 2018-03-30 16:14 STM32-DCP-208\App\
文件 5495 2016-03-11 18:09 STM32-DCP-208\App\SPI.c
文件 873 2016-03-11 18:09 STM32-DCP-208\App\SPI.h
文件 228 2016-03-11 18:09 STM32-DCP-208\App\includes.h
文件 3561 2016-03-11 18:09 STM32-DCP-208\App\main.c
文件 3237 2016-03-11 18:09 STM32-DCP-208\App\stm32f10x_conf.h
文件 4946 2016-03-11 18:09 STM32-DCP-208\App\stm32f10x_it.c
文件 3831 2016-03-11 18:09 STM32-DCP-208\App\stm32f10x_it.h
目录 0 2018-03-30 16:14 STM32-DCP-208\Bsp\
文件 15936 2016-03-11 18:09 STM32-DCP-208\Bsp\bsp.c
文件 2904 2016-03-11 18:09 STM32-DCP-208\Bsp\bsp.h
目录 0 2018-03-30 16:14 STM32-DCP-208\Libraries\
目录 0 2018-03-30 16:14 STM32-DCP-208\Libraries\CMSIS\
文件 17273 2016-03-11 18:09 STM32-DCP-208\Libraries\CMSIS\core_cm3.c
文件 85714 2016-03-11 18:09 STM32-DCP-208\Libraries\CMSIS\core_cm3.h
文件 633941 2016-03-11 18:09 STM32-DCP-208\Libraries\CMSIS\stm32f10x.h
文件 36557 2016-03-11 18:09 STM32-DCP-208\Libraries\CMSIS\system_stm32f10x.c
文件 2085 2016-03-11 18:09 STM32-DCP-208\Libraries\CMSIS\system_stm32f10x.h
目录 0 2018-03-30 16:14 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\
文件 29246 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\Release_Notes.html
目录 0 2018-03-30 16:14 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\
文件 8982 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\misc.h
文件 21690 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_adc.h
文件 7555 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_bkp.h
文件 27559 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_can.h
文件 6573 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_cec.h
文件 2162 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_crc.h
文件 15233 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dac.h
文件 3818 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dbgmcu.h
文件 20754 2016-03-11 18:09 STM32-DCP-208\Libraries\STM32F10x_StdPeriph_Driver\inc\stm32f10x_dma.h
............此处省略201个文件信息
相关资源
- STM32F407低功耗睡眠模式源码
- STM32CubeIDE 1.5 自动代码补全插件
- 基于STM32F1的粉尘检测系统
- 正点原子基于STM32F103的机智云移植手
- stm32点阵学习含详细代码与原理图
- STM32+UIP+WEB Server
- ov7670摄像头 stm32F4 TFT显示
- stm32 输出PWM波占空比可由串口控制
- TCS230的stm32代码
- STM32智能壁障小车源程序和原理图
- stm32f030c8t6利用RTC唤醒低功耗模式sto
- stm32f4计算器
- pwm呼吸灯实验
- STM32F103利用串口3接收数据然后串口
- stm32+DS18b20
- ucos_ii移植stm32f4官网代码资料
- tcp客户端数据收发工程
- STM32/ARM的官方DSP库
- stm32103c8数据手册
- STM32 F103 通过SPI口读取RFID的
- 基于GP22的超声波流量计
- stm32系列sim900a发送短信代码
- STM32F407 双ADC同步采样TIM3触发,DMA中断
- 使用Zigbee通信的STM32上位机控制小车
- STM32F4串口发送
- STM32 UCGUIKEIL工程,已经移植好,修改
- 基于STM32的IOT系统设计及开发
- STM32F3与F4系列Cortex M4内核编程手册.
- 基于STM32的编码器程序
- stm32控制的LCD19264显示程序
评论
共有 条评论