(7)Proteus 8.9上的STM32仿真系列(HAL/CubeMaxIDE)---ADC

(7)Proteus 8.9上的STM32仿真系列(HAL/CubeMaxIDE)—ADC

**提示:**仿真ADC1的in0无输出数据,烧到板子上能正常运行,目测STM32 的ADC也是不能在Proteus上仿真的,实在有需要可以用其他ADC芯片。

一、电路原理图
1.虽然proteus不能仿真,但还是把原理图摆出来。
在这里插入图片描述
二、CubemaxIDE配置
1.时钟和第一节相同,直接HCLK 8Mhz。
2.使能adc1,并如图配置,设置in0,右对齐,通道0和转换时间(可自己选,Cycles值越大越精确)
在这里插入图片描述
在这里插入图片描述
3.generate code,在main.c中添加如下代码

uint32_t Adc_Value;
uint8_t temp[2];


  /* USER CODE BEGIN WHILE */
  while (1)
  {
	  HAL_ADC_Start(&hadc1);	//开始采样
	  if(HAL_ADC_PollForConversion(&hadc1, 0xff)==HAL_OK)//确认采样完成
	  {
	  //将获取的12位值放入两个字节的数组里
		  Adc_Value=HAL_ADC_GetValue(&hadc1);
		  temp[0]=(Adc_Value>>8)&0x00000fff;
		  temp[1]=Adc_Value&0x00000fff;
	//从串口1输出adc值
		  HAL_UART_Transmit(&huart1, temp, 2, 0xff);
	  }
	  HAL_Delay(1000);	//延时1000ms
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */

4.buidall,生成hex文件

三、实验结果
1.仿真没有输出,烧到板子上的输出如下。每两个字节为一次采样值。前面引脚接地,测量值为0x 00 00。后续接3.3v,输出在0x 0F BE(十进制decimal:4030)附近波动,采样电压为(4030/2^12)*3.3=3.25伏特。
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值