【NUCLEO_F767ZI开发板系列】七、AD与DA

   AD和DA可以实现模拟信号和数字信号的转换,也是一个十分常用的外设。

 

一、AD转换

 PA3口是ADC1的通道3,板子上引出了这个引脚。

 原理图里,PA3的位置在CN9的A0:

 

1、配置CubeMX

 

设置PA3引脚为ADC1通道3 复用功能。

 

配置ADC选项卡:

Mode: 独立采集模式

Clock Prescaler:预分频处理,这里选择4分频

Resolution:转换的位数,有12、10、8、6位四种选择,位数不一样,转换的周期也不一样

Data Alignment :数据对齐方式。选择右对齐

Scan Conversion Mode :扫描转换方式

Continuous Conversion Mode :循环转换方式

Discontinuous Conversion Mode :不循环转换方式

DMA Conversion requests:DMA转换请求

End of Conversion Selection :单次转换结束后置位EOC标志,或者所有通道转换结束后置位EOC标志

 

2、生成代码,定义变量:

 

  /* USER CODE BEGIN 1 */
	uint32_t ADC_Data=0;
  /* USER CODE END 1 */

在主函数里添加:

 

		HAL_ADC_Start(&hadc1);
		HAL_Delay(1000);
		ADC_Data = HAL_ADC_GetValue( &hadc1);
		printf("ADC_Data is : %4.3f \n",(float)ADC_Data*3.3/4096);

 

3、编译下载到开发板:用杜邦线将PA3分别与3.3V和GND连接,串口输出测量结果

可以看到接近3.3V和0V的电压,其余的电压变动是因为此时的引脚是悬空的。

 

二、DA转换

1、配置CubeMX,    F767自带了两个DA通道,配置DAC通道一PA4输出1.65V的电压

 

DAC配置为默认配置不需修改:

 

2、编译生成代码:在主循环之前添加代码:

 

	HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, 2048);//设置通道,数据对齐方式和DA的值
	HAL_DAC_Start(&hdac,DAC_CHANNEL_1);//打开DA通道

 

3、连接PA3(AD采集通道)和PA4,PA4在CN7接口上。

 

 

4、打开串口调试助手可以看到,DAC输出的电压是1.65V。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值