单片机
- List item
一、学习内容和笔记
1、时钟了解
1.STM32可以选择一一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者系统时钟
2.任何一个外设在使用之前,必须首先使能其相应的时钟。(我对时钟的理解是:单片机是靠时针来走程序的,只有写好程序之后,在时钟的安排下,单片机运行。)
几个重要的时钟:
1、SYSCLK(系统时钟)
2、AHB总线时钟
3、APB1总线时钟(低速):速度最高36MHz
4、APB2总线时钟(高速):速度最高72MHz
5、PLL时钟
2、跑马灯实验
(学习之前回顾GPIO基础知识。
是每组I/O口含下面7个寄存器,也就是7个寄存器一共可以控制一组GPIO的16个IO口。
GPIOx_ CRL :端口配置低寄存器
GPIOx_ CRH:端口配置高寄存器
GPIOx_ IDR:端口输入寄存器
GPIOx_ ODR:端口输出寄存器
GPIOx_ BSRR:端口位设置/清除寄存器
GPIOx_ BRR :端口位清除寄存器
GPIOx_ LCKR:端口配置锁存寄存器)
选择工作模式,调用函数,我感觉主要是熟悉步骤。
3、按键
感觉和51差不多,代码也差不多。
KEY_Scan 函数,是用来扫描这 3 个 IO 口是否有按键按下。该函数的按键扫描是有优先级的,最优先的是 KEY0,第二优先的是 KEY1,最后是 WK_UP 按键。该函数有返回值,如果有按键按下,则返回非0值,如果没有或者按键不正确,则返回 0。(运行看现象的时候按WK_UP键可以控制多种亮灭形式,之后查资料找到的。)
4、串口
理论
串口设置的一般步骤可以总结为如下几个步骤:
1、串口时钟使能,GPIO 时钟使能(串口是挂载在 APB2 下面的外设,所以使能函数为:RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1);)
2、串口复位(复位的是在函数 USART_DeInit()中完成:
void USART_DeInit(USART_TypeDef* USARTx);//串口复位)
3、GPIO 端口模式设置
4、串口参数初始化(串口初始化通过 USART_Init()函数实现voidUSART_Init(USART_TypeDefUSARTx,USART_InitTypeDef USART_InitStruct);)
5、开启中断并且初始化 NVIC(如果需要开启中断才需要这个步骤)
6、使能串口
7、编写中断处理函数
二、学习时间
1、回顾部分、学习部分
回顾跑马灯,学习按键,串口,串口还在没学完。还很懵。