stm32学习路程
来源:互联网 发布:网络销售工作12小时 编辑:程序博客网 时间:2024/05/17 01:27
stm32学习路程
前言
学习笔记,为了以后查漏补缺,记录学习进度和收获。本次学习基于奋斗stm32xV5_3寸屏幕的开发板,基于Keil V4开发环境,参考资料32位基于ARM微控制器STM32F101xx与STM32F103xx 固件函数库。
第一章 学习GPIO
一个基本工程包括芯片底层启动驱动的汇编文件startup_stm32f10x_hd.s在ASM文件夹里(不需要修改)
一个用户文件夹一般取名USR或者APP
一个库文件夹FWlib由stm32公司提供(不需要修改)
一个CMSY文件夹,包含core_cm3.c内核源码;system_stm32f10x.c与芯片相关的系统文件(不需要修改)
一个说明文件readme
stm32f10x_rcc.都会用到,提供系统初始化,时钟设置等功能。
stm32f10x_gpio.c I/O口操作都会用到GPIO.c
第二章 学习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、技术掌握要点
- stm32学习路程
- 算法学习路程
- Linux 学习路程
- 算法学习路程
- Android学习路程
- 网络工程的学习路程
- ionic的学习路程
- java学习路程
- java 学习 规划 路程
- 记录学习的路程
- java学习路程
- MongoDB学习路程
- 爬虫学习路程
- redis:学习路程
- php的学习路程
- 学习路程(慢慢添加)
- Spring-dynamic学习路程【开始】
- 开博文记录ios学习路程
- svn 定期备份的2种方法
- 热词统计发现算法3则
- Project_2007的密钥
- MySQL行级锁、表级锁、页级锁详细介绍
- VC++ MFC类学习的一些问题和技巧
- stm32学习路程
- 漫画HDFS工作原理
- Struts2实现文件上传和下载
- jpg在线转换pdf
- 代码诊断工具DTrace
- 车辆违章查询演示示例
- linux多线程API函数
- HDU 1728 逃离迷宫
- MTK8127_FB710项目调试长按power键重启改动