CSDN-markdown编辑器
作者:互联网
单片机
单片机
- List item
一、学习内容和笔记
1、时钟了解
一、STM32有5个时钟源:HSI、HSE、LSI、LSE、PLL。
1、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。
2、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~ 16MHz。
3、LSI是低速内部时钟,RC振荡器,频率为40kHz, 提供低功耗时钟、WDG
4、LSE是低速外部时钟,接频率32.768kHz的石英晶体。 RTC
5、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2 。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
二、系统时钟SYSCLK可来源于三个时钟源:
1、HSI振荡器时钟
2、HSE振荡器时钟
3、PLL时钟
3.STM32可以选择一一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者系统时钟
4.任何一个外设在使用之前,必须首先使能其相应的时钟。(我对时钟的理解是:单片机是靠时针来走程序的,只有写好程序之后,在时钟的安排下,单片机运行。)
几个重要的时钟:
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、回顾部分、学习部分
回顾跑马灯,学习按键,串口,串口还在没学完。还很懵。
标签:markdown,USART,GPIOx,寄存器,按键,编辑器,CSDN,串口,时钟 来源: https://blog.csdn.net/Csjxxxhhh/article/details/115428632