资源简介
基于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个文件信息
相关资源
- I2C读写AT24C02 基于STM32F103 cube116540
- 基于stm32f103ve的程序——跑马灯实验
- 基于STM32RCT6的步进电机驱动程序
- stm32f407上的两个can发送和接收例程
- STM32 led 时钟
- STM32 2.4G通信例程
- 直流无刷电机方波驱动 stm32 例程代码
- STM32中文资料
- STM32蓝牙和串口程序
- STM32f103超声波模块例程
- stm32f103c8t6 4 oled.rar
- stm32f030 IAP Demo(原创)
- STM32基于rt_thread操作系统的SDHC卡文件
- NRF24L01实现51与STM32双向通讯
- 基于c8051f020的AD转换程序及LCD显示程序
- STM32F103 串口程序(完整版)
- stm32 ds18b20 温度传感器 测试通过
- stm32官方例程
- STM32F103定时器中断程序
- [免费]基于stm32f103ze 的OLED驱动代码
- STM32F103RBT6驱动UC1698控制芯片的160160黑
- STM32F103 DS18B20 V3.5.0固件库驱动程序工
- STM32定时器使用入门。看了这个程序会
- SIM908 SDIO FSMC STM32 FIFO
- STM32F103 CC2500完整驱动(模拟SPI)
- AD7606采集程序
- stm32 用SPI 方式读写 SDHC
- stm32通过DMA方式采集ADC数据
- 意法半导体STM全系列微控制器STM32ST
- 基于STM32芯片的SX1278 驱动 LORA.rar
评论
共有 条评论