第一章、 为什么学习STM32
STM32是一系列以ARM Cortex-M为内核的32位嵌入式微控制器。
第二章、初识STM32库
1.什么是启动文件?启动文件的作用是什么?具体实现了哪些功能? 启动文件是任何处理器在上电复位之后最先运行的一段汇编程序。在我们编写的c语言代码运行之前,需要由汇编为c语言的运行建立一个合适的环境,接下来才能运行我们的程序main函数。所以我们也要把启动文件添加进我们的的工程中去。
? 初始化堆栈指针SP; ? 初始化程序计数器指针PC; ? 设置堆、栈的大小; ? 设置异常向量表的入口地址; ? 配置外部SRAM作为数据存储器(这个由用户配置,一般的开发板可没有外部SRAM); ? 设置C库的分支入口__main(最终用来调用main函数); ? 在3.5版的启动文件还调用了在system_stm32f10x.c文件中的SystemIni() 函数配置系统时钟,在旧版本的工程中要用户进入main函数自己调用SystemIni() 函数。
2.stm32f10x_it.c文件的作用是什么?
stm32f10x_it.c是专门用来编写中断服务函数的,在我们修改前,这个文件已经定义了一些系统异常的接口,其它普通中断服务函数由我们自己添加。
第四章、深入分析流水灯例程
1.GPIO是什么意思?STM32芯片的GPIO引脚分成哪些组?每组的引脚的号码是什么范围? STM32芯片上,I/O引脚可以被软件设置成各种不同的功能,如输入或输出,所以被称为GPIO (General-purpose I/O)。而GPIO引脚又被分为GPIOA、GPIOB……GPIOG不同的组,每组端口分为0~15,共16个不同的引脚
2.ST库提供了GPIO输出高电平和低电平的函数,分别是什么函数? 用GPIO_SetBits()控制输出高电平,用GPIO_ResetBits()控制输出低电平。
3.RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);这句代码实现的功能是什么? 实现开启外设GPIOC的时钟。
4.下面三句代码,分别实现什么样的功能?(1)a&=~(1<<6);第7位清零,其他位保持不变(2)a|=(1<<6);第7位置1,其他位保持不变(3)a^=(1<<6);第7位取反,其他位保持不变
第5章调试程序
1.在调试STM32程序时,进行软件仿真和硬件调试,分别使用哪些软件或工具? 用MDK软件仿真,使用JLINK进行硬件调试
第6章 GPIO按键实验 1. GPIO的8种工作模式
输入模式:上拉输入和下拉输入模式,浮空输入模式,模拟输入模式, 输出模式:推挽输出模式,开漏输出模式,复用推挽输出,复用开漏输出