标题:
NucleoF429 基础应用1: TIM1+ADC+USART 波形显示-1
[打印本页]
作者:
look_w
时间:
2018-1-24 20:33
标题:
NucleoF429 基础应用1: TIM1+ADC+USART 波形显示-1
一、初始化和外设选择
1.1、还是使用
STM32CubeMX
,选中
NucleoF429
,
ADC
选择
IN0
,对应
PA0
脚
1.2、时钟输入选择
Bypass
。开发板默认没有焊接外部高速晶振,
Bypass
的时钟是
STlink
的那颗芯片输出的,这里也可以不选,默认使用
16MHz
的内部
RC
震荡,但
Datasheet
上说最大有
1%
的偏差。
1.3、Timer选择
TIM1
,最基本的计时功能,也可以选择
Systick
做计时
1.4、
USART
选择
Usart3
,但开发板上连接
STlink
虚拟串口的
TX
和
RX
是
PD8
和
PD9
,所以手动修改
PD8
和
PD9
为
Usart3
的
TX
和
RX
OK,外设选择完毕,接下来配置时钟和外设参数。
二、
时钟和外设参数配置
1、
STM32CubeMX
的时钟树配置起来简单明了,需要注意的是
F429
的时钟
MCO
输入的,所以
Input Frequency
改为
8Mhz
,其他时钟按需选择,频率越高功耗越大,因为
ADC
使用的是
PCLK2
,所以注意选择
PCLK2
的频率,关系到采样速度,后面讲怎么算
ADC
采样率。我的时钟配置如下图:
2、配置单个外设的参数:
2.1、
USART3
参数分别为:115200bps、
8bit
、无校验、
1
个停止位。
2.2、
ADC
因为我只需要一路
ADC
,所以不需要多通道扫描(另有规则通道和注入通道方式,详情参照相关
Datasheet
和书籍)。为了方便控制采样率,使用定时器触发,不需要连续转换,即转换一次停止,等待下一次启动转换。
ADC有主要的几个参数:
2.2.1 、
ADC
时钟:
PCLK2
的
4
分频。之前
PCLK2
已被配置为了
90MHz
,所以这里的
ADC
时钟周期为
90/4= 22.5Mhz
,一个时钟周期为
1/22.5Mhz = 0.0444444... us
ADC的总转换时间
Tconv =
采样时间
+12
个周期,采样时间可选,比如这里
ADC
时钟为
22.5M
,采样时间选择
56
个周期,则一次
AD
转换时间为
Tconv =
(
1/22.5
)
*
(
56+12
)
= 3.0222..us
2.2.2、
ADC
分辨率:
12Bit
。另外还有
10/8/6Bit
可选,位数越低转换时间越短。
2.2.3、数据对齐:右对齐
2.2.4、其他选项都选
Disabled
,
2.3、
Timer1
TIM1是为了定时触发
ADC
转换,事实上
TIM1
可以直接配置为
ADC
触发源,自动触发,但这里还是使用原始的方式,即
TIM
定时时间到,手动启动
ADC
转换,
TIM1是在
APB2
总线上,
APB2
总线为
180M
,通过
180
分频后为
1M
,即
1us
,再累加计时
1000
次,则
TIM1
每次中断为
1ms
,
TIM1
中断为
Update
类型
2.4、NVIC:
NVIC
中只需要开启
RCC
、
TIM1
和
ADC
中断即可。
通过以上简单的设置,所需要的功能都已具备,设置输出目录和IDE类型,即可生成
Project
(我使用的是
Keil
)
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0