找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 9862|回复: 9
收起左侧

STM32+AD7705模块(双路16位ADC采集)配套源码与资料下载

[复制链接]
ID:364967 发表于 2018-7-4 16:40 | 显示全部楼层 |阅读模式
SPI接口 TM7705 AD7705 16位ADC采集
F4-023_接线图(局部大图).jpg F4-023_接线图.jpg F4-023_例程执行结果(串口打印信息的截图).PNG

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
0.png

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

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

回复

使用道具 举报

ID:140302 发表于 2018-8-25 15:49 | 显示全部楼层
谢谢,下载学习了!
回复

使用道具 举报

ID:389852 发表于 2018-9-5 16:57 | 显示全部楼层
做了一个,速度太慢了,改用ADS1115了
回复

使用道具 举报

ID:395976 发表于 2018-10-31 09:20 | 显示全部楼层
学习啦,3X
回复

使用道具 举报

ID:470191 发表于 2019-1-18 15:31 | 显示全部楼层
看看学习下
回复

使用道具 举报

ID:479515 发表于 2019-3-5 15:36 | 显示全部楼层
非常感谢,学习一下
回复

使用道具 举报

ID:376510 发表于 2019-7-12 20:14 | 显示全部楼层
谢谢,参考一下
回复

使用道具 举报

ID:72951 发表于 2019-9-29 20:08 | 显示全部楼层
学习采样放大电路
回复

使用道具 举报

ID:622569 发表于 2019-10-11 21:32 | 显示全部楼层
看一看下
回复

使用道具 举报

ID:329571 发表于 2020-3-14 16:28 | 显示全部楼层
能用哦,好评!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表