stm32学习路程

来源:互联网 发布:网络销售工作12小时 编辑:程序博客网 时间:2024/05/17 01:27

stm32学习路程

前言

学习笔记,为了以后查漏补缺,记录学习进度和收获。本次学习基于奋斗stm32xV5_3寸屏幕的开发板,基于Keil V4开发环境,参考资料32位基于ARM微控制器STM32F101xx与STM32F103xx 固件函数库。

第一章 学习GPIO

1、首先明确工程文件结构

一个基本工程包括芯片底层启动驱动的汇编文件startup_stm32f10x_hd.s在ASM文件夹里(不需要修改)
一个用户文件夹一般取名USR或者APP
一个库文件夹FWlib由stm32公司提供(不需要修改)
一个CMSY文件夹,包含core_cm3.c内核源码;system_stm32f10x.c与芯片相关的系统文件(不需要修改)
一个说明文件readme


2、明确用到的库和函数

stm32f10x_rcc.都会用到,提供系统初始化,时钟设置等功能。
stm32f10x_gpio.c  I/O口操作都会用到GPIO.c


3、具体程序要点,指定GPIO的初始化,声明,赋值。



第二章 学习usart

1、用到的库

stm32f10x_usart.c用于串口初始化
stm32f10x_it.c 编写串口中断函数,一般放在user
misc.c 设置中断向量


2、定义的结构体

USART_InitTypeDef串口的初始化参数

USART_InitTypeDef USART_InitStructure;声明一个结构体变量

/**赋值**/

  USART_InitStructure.USART_BaudRate = 115200;//速率115200bps
  USART_InitStructure.USART_WordLength = USART_WordLength_8b;//数据位8位
  USART_InitStructure.USART_StopBits = USART_StopBits_1;//停止位1位
  USART_InitStructure.USART_Parity = USART_Parity_No;//无校验位
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;   //无硬件流控
  USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//收发模式


  /* Configure USART1 */
  USART_Init(USARTx, &USART_InitStructure); //调用配置串口参数函数


3、三个重要的配置函数

void RCC_Configuration(void);//时钟配置
void GPIO_Configuration(void);//I/O配置
void NVIC_Configuration(void);//中断配置

void USART_Config(USART_TypeDef* USARTx);//串口初始化配置


第四章 学习RTC

1、首先明确工程文件结构


使用到RTC(实时时钟系统)的工作要包含stm32f10x_rtc.c库文件

使用到bkp(备份寄存器)功能的得包括stm32f10x_pwr.c

RTC低功耗供电时还要使用到功耗控制(PWR),包括stm32f10x_pwr.c

还包含stm32f10x_it.c:该源文件包含了所有的中断处理程序(如果未使用中断,则所有的函数体都为空)。

2、使用到的寄存器

1、 备份寄存器(BKP) 备份寄存器由10个16位寄存器组成,可用来存储20 个字节的用户应用程序数据。他们处在备份域里,当VDD 电源被切断,他们仍然由VBAT 维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位。此外,BKP 控制寄存器用来管理侵入检测和RTC 校准功能。


2、 功耗控制(PWR)

PWR有多种用途,包括功耗管理和低功耗模式选择。

3、使用到的函数

void RTC_Configuration(void);

u32 Time_Regulate(void);

void Time_Adjust(void);
void Time_Show(void);
void Time_Display(u32 TimeVar);


3、技术掌握要点

1、rtc中断服务函数


2、闹钟功能设置

3、万年历计算
4、闰年计算
5、低功耗定时唤醒CPU

0 0