找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2042|回复: 0
打印 上一主题 下一主题
收起左侧

stm32串口1(USART1)向电脑的超级终端以1s为间隔打印当前ADC1的转换电压值

[复制链接]
跳转到指定楼层
楼主
ID:360398 发表于 2018-6-27 16:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ARM串口数据采集,测量被测电路的电压

单片机源程序如下:
  1. /******************** (C) COPYRIGHT 2013 CEPARK多功能开发学习板********************
  2. * 文件名  :main.c
  3. * 描述    :串口1(USART1)向电脑的超级终端以1s为间隔打印当前ADC1的转换电压值         
  4. * 实验平台:CEPARK多功能开发学习板
  5. * 库版本  :ST3.5.0
  6. * 硬件连接:--------------------------------
  7. * 单片机IO | PA9  - USART1(Tx) -- JP8 - TX1 | 串口模块,115200,8,1,N
  8. *          | PA10 - USART1(Rx)          RX1 |
  9. *           --------------------------------
  10. * 硬件连接: -------------------------------------------------------------------
  11. * 模拟量输入| PA0 - JP25(任意一个端子) 连接外部电压(通过一个滑动变阻器分压而来) |
  12. *           | J1(下端)--核心板上的J7(3.3V),这是为了保护ADC模块              |                                                  |
  13. *            -------------------------------------------------------------------
  14. **********************************************************************************/
  15. #include "stm32f10x.h"
  16. #include "usart1.h"
  17. #include "adc.h"
  18.       

  19. // 软件延时
  20. void Delay(__IO u32 nCount)
  21. {
  22.   for(; nCount != 0; nCount--);
  23. }

  24. /**
  25.   * @brief  Main program.
  26.   * @param  None
  27.   * @retval : None
  28.   */

  29. int main(void)
  30. {       
  31.         u16 ADC_Value;
  32.         /* config the sysclock to 72M */      
  33.   SystemInit();

  34.   /* USART1 config */
  35.         USART1_Config();

  36.         /* enable adc1 and config adc1 to dma mode */
  37.         ADC1_Init();

  38.         printf("\r\n -------CEPARK STM32开发板 ADC实验------\r\n");

  39.   while (1)
  40.   {
  41.     //设置转换序列                           
  42.                 //ADC1->SQR3&=0XFFFFFFE0;//规则序列1 通道ch
  43.                 //ADC1->SQR3|=ch;       
  44.                 //设置指定ADC的规则组通道,设置它们的转化顺序和采样时间
  45.                 ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5 );        //ADC1,ADC通道0,规则采样顺序值为1,采样时间为239.5周期                                      
  46.                 //ADC1->CR2|=1<<22;       //启动规则转换通道
  47.                 /* Start ADC1 Software Conversion */
  48.                 ADC_SoftwareStartConvCmd(ADC1, ENABLE);                //使能指定的ADC1的软件转换启动功能
  49.                 //while(!(ADC1->SR&1<<1));//等待转换结束         
  50.                 while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));//等待转换结束
  51.                 ADC_Value=ADC_GetConversionValue(ADC1);        //返回最近一次ADC1规则组的转换结果

  52. ……………………

  53. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
ADC实验.rar (246.27 KB, 下载次数: 39)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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