标题: STM32+AD7705模块(双路16位ADC采集)配套源码与资料下载 [打印本页]

作者: baymax999    时间: 2018-7-4 16:40
标题: STM32+AD7705模块(双路16位ADC采集)配套源码与资料下载
SPI接口 TM7705 AD7705 16位ADC采集


stm32源码
  1. /*
  2. *********************************************************************************************************
  3. *        模块名称 : 主程序模块。
  4. *        文件名称 : main.c
  5. *        版    本 : V1.1
  6. *        说    明 : 主程序
  7. *        修改记录 :
  8. *                版本号  日期       作者    说明
  9. *                v1.0  armfly  首发
  10. *                v1.0  armfly  升级BSP,增加操作提示
  11. *********************************************************************************************************
  12. */

  13. #include "bsp.h"                /* 如果要用ST的固件库,必须包含这个文件 */

  14. /* 定义例程名和例程发布日期 */
  15. #define EXAMPLE_NAME        "F4-023_AD7705模块例程(2通道带PGA的16位ADC)"
  16. #define EXAMPLE_DATE        "2013-12-20"
  17. #define DEMO_VER                "1.1"

  18. /* 仅允许本文件内调用的函数声明 */
  19. static void PrintfLogo(void);

  20. /*
  21. *********************************************************************************************************
  22. *        函 数 名: main
  23. *        功能说明: c程序入口
  24. *        形    参:无
  25. *        返 回 值: 错误代码(无需处理)
  26. *********************************************************************************************************
  27. */
  28. int main(void)
  29. {
  30.         uint16_t adc1, adc2;

  31.         /*
  32.                 由于ST固件库的启动文件已经执行了CPU系统时钟的初始化,所以不必再次重复配置系统时钟。
  33.                 启动文件配置了CPU主时钟频率、内部Flash访问速度和可选的外部SRAM FSMC初始化。

  34.                 系统时钟缺省配置为72MHz,如果需要更改,可以修改:
  35.                 \Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\system_stm32f10x.c
  36.                 中配置系统时钟的宏。
  37.         */

  38.         bsp_Init();
  39.         PrintfLogo();                /* 打印例程Logo到串口1 */
  40.         
  41.         bsp_InitTM7705();                        /* 初始化配置TM7705 */

  42.         TM7705_CalibSelf(1);                /* 自校准。执行时间较长,约180ms */               
  43.         adc1 = TM7705_ReadAdc(1);                                
  44.         
  45.         TM7705_CalibSelf(2);                /* 自校准。执行时间较长,约180ms */
  46.         adc2 = TM7705_ReadAdc(2);        
  47.         
  48.         while (1)
  49.         {        
  50.                 bsp_Idle();                /* 空闲时执行的函数,比如喂狗. 在bsp.c中 */

  51.                 #if 1        
  52.                         /* 双通道切换采样,执行一轮实际那约 160ms */                        
  53.                         adc1 = TM7705_ReadAdc(1);        /* 执行时间 80ms */               
  54.                         adc2 = TM7705_ReadAdc(2);        /* 执行时间 80ms */
  55.                 #else
  56.                         /* 如果只采集1个通道,则刷新速率 50Hz (缺省设置的,最大可以设置为500Hz) */
  57.                         adc1 = TM7705_ReadAdc(1);        /* 执行时间 20ms (50Hz速率刷新时) */               
  58.                         adc2 = 0;
  59.                 #endif
  60.                         
  61.                 /* 打印采集数据 */
  62.                 {
  63.                         int volt1, volt2;
  64.                         
  65.                         /* 计算实际电压值(近似估算的),如需准确,请进行校准 */
  66.                         volt1 = (adc1 * 5000) / 65535;
  67.                         volt2 = (adc2 * 5000) / 65535;
  68.                         
  69.                         /* 打印ADC采样结果 */        
  70.                         printf("CH1=%5d (%5dmV) CH2=%5d (%5dmV)\r", adc1, volt1, adc2, volt2);
  71.                 }
  72.         }
  73. }

  74. /*
  75. *********************************************************************************************************
  76. *        函 数 名: PrintfLogo
  77. *        功能说明: 打印例程名称和例程发布日期, 接上串口线后,打开PC机的超级终端软件可以观察结果
  78. *        形    参:无
  79. *        返 回 值: 无
  80. *********************************************************************************************************
  81. */
  82. static void PrintfLogo(void)
  83. {
  84.         printf("*************************************************************\n\r");
  85.         printf("* 例程名称   : %s\r\n", EXAMPLE_NAME);        /* 打印例程名称 */
  86.         printf("* 例程版本   : %s\r\n", DEMO_VER);                /* 打印例程版本 */
  87.         printf("* 发布日期   : %s\r\n", EXAMPLE_DATE);        /* 打印例程日期 */

  88.         /* 打印ST固件库版本,这3个定义宏在stm32f10x.h文件中 */
  89.         printf("* 固件库版本 : %d.%d.%d\r\n", __STM32F4XX_STDPERIPH_VERSION_MAIN,
  90.                         __STM32F4XX_STDPERIPH_VERSION_SUB1,__STM32F4XX_STDPERIPH_VERSION_SUB2);
  91.         printf("* \n\r");        /* 打印一行空格 */
  92.         printf("* QQ    : 1295744630 \r\n");
  93.         printf("* Email : armfly@qq.com \r\n");
  94.         printf("* Copyright wwwarmflycom 安富莱电子\r\n");
  95.         printf("*************************************************************\n\r");
  96. }
复制代码

0.png (46.83 KB, 下载次数: 119)

0.png

0.png (43.44 KB, 下载次数: 106)

0.png

SPI接口 TM7705 AD7705 16位ADC数据 采集模块 输入增益可编程.rar

6.48 MB, 下载次数: 238, 下载积分: 黑币 -5


作者: hxkun    时间: 2018-8-25 15:49
谢谢,下载学习了!
作者: kayman    时间: 2018-9-5 16:57
做了一个,速度太慢了,改用ADS1115了
作者: findjoy    时间: 2018-10-31 09:20
学习啦,3X
作者: cqkqq1234    时间: 2019-1-18 15:31
看看学习下
作者: leykit    时间: 2019-3-5 15:36
非常感谢,学习一下
作者: 什锦八宝    时间: 2019-7-12 20:14
谢谢,参考一下
作者: em78447    时间: 2019-9-29 20:08
学习采样放大电路
作者: yyh190    时间: 2019-10-11 21:32
看一看下
作者: 1757897801    时间: 2020-3-14 16:28
能用哦,好评!!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1