[STM32F1] STM32 F103C8T6 cubemx ADC配置

[复制链接]
596|14
 楼主| 泡椒风爪 发表于 2022-11-23 11:28 | 显示全部楼层 |阅读模式

前三个步骤都是固定配置,每次都需要把这些配置好。

1、 将高速时钟设置为外部时钟

34999637d9366b256d.png


 楼主| 泡椒风爪 发表于 2022-11-23 11:29 | 显示全部楼层
2、配置时钟树
26803637d93b07859e.png
 楼主| 泡椒风爪 发表于 2022-11-23 11:30 | 显示全部楼层
3、将Debug选择为Serial Wire
72606637d93bfa44f8.png
 楼主| 泡椒风爪 发表于 2022-11-23 11:31 | 显示全部楼层
Resolution:转换位数

DateAlignment:数据对齐方式
67127637d93e681b95.png
 楼主| 泡椒风爪 发表于 2022-11-23 11:31 | 显示全部楼层
使能中断
11898637d9415b2f69.png
 楼主| 泡椒风爪 发表于 2022-11-23 11:32 | 显示全部楼层
  选择一个串口 ,然后更改自己的波特率
15059637d94402ba39.png
 楼主| 泡椒风爪 发表于 2022-11-23 11:33 | 显示全部楼层
查询方式和中断方式的HAL库函数应用

■查询方式,阻塞式的A/D转换

uint16_ t ADC_Value = 0;
HAL_ ADC_ Start(&hadc);
if(HAL_ OK == HAL_ ADC_ PollForConversion(&hadc,10))
{
   ADC0_ Value = HAL_ ADC_ GetValue(&hadc);
}
 楼主| 泡椒风爪 发表于 2022-11-23 11:35 | 显示全部楼层
中断方式,非阻塞式的A/D转换

uint16_ t ADC_ Value = 0;
HAL_ ADC_ Start_IT(&hadc);
void HAL _ADC_ConvCpltCallback(ADC_ Handle TypeDef* hadc1)
{
    ADC0_ Value = HAL_ADC_ GetValue(&hadc);
}
 楼主| 泡椒风爪 发表于 2022-11-23 11:39 | 显示全部楼层
Keil配置

方式一:利用查询的方式AD采样
75268637d952e95a9d.png
 楼主| 泡椒风爪 发表于 2022-11-23 11:40 | 显示全部楼层
 楼主| 泡椒风爪 发表于 2022-11-23 11:45 | 显示全部楼层
 楼主| 泡椒风爪 发表于 2022-11-23 11:46 | 显示全部楼层
Keil配置结束,打开串口调试助手就OK了
9573637d976c15bb4.png
 楼主| 泡椒风爪 发表于 2022-11-23 12:15 | 显示全部楼层
方式二:利用中断的方式AD采样

配置与上面相似,更改代码以放在下面图片中。
63657637d9e7e37197.png
 楼主| 泡椒风爪 发表于 2022-11-23 12:16 | 显示全部楼层
 楼主| 泡椒风爪 发表于 2022-11-23 12:17 | 显示全部楼层
Keil配置结束,打开串口助手就OK了
49431637d9ec8400b3.png
您需要登录后才可以回帖 登录 | 注册

本版积分规则

46

主题

307

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部