首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

NucleoF429 基础应用1: TIM1+ADC+USART 波形显示-1

NucleoF429 基础应用1: TIM1+ADC+USART 波形显示-1

一、初始化和外设选择
  1.1、还是使用STM32CubeMX,选中NucleoF429ADC选择IN0,对应PA0
   
  1.2、时钟输入选择Bypass。开发板默认没有焊接外部高速晶振,Bypass的时钟是STlink的那颗芯片输出的,这里也可以不选,默认使用16MHz的内部RC震荡,但Datasheet上说最大有1%的偏差。
      
  1.3、Timer选择TIM1,最基本的计时功能,也可以选择Systick做计时
      
  1.4、USART选择Usart3,但开发板上连接STlink虚拟串口的TXRXPD8PD9,所以手动修改PD8PD9Usart3TXRX
      
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时钟:PCLK24分频。之前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每次中断为1msTIM1中断为Update 类型
     
  2.4、NVIC:
       NVIC中只需要开启RCCTIM1ADC中断即可。
     
通过以上简单的设置,所需要的功能都已具备,设置输出目录和IDE类型,即可生成Project(我使用的是Keil
返回列表