
stm32
文章平均质量分 62
分别介绍stm32每个部分的原理和使用代码
芋圆冰糖
这个作者很懒,什么都没留下…
展开
-
USART1_IRQHandler 函数
到了这一步,就说明这一串数据已经完完全全的接收完了USART_RX_STA = 1100 0000 0000 0100,最高位为1:代表接收到了0x0a,第十四位为1:代表接收到了0x0d,第0位到第13位为4,代表接收到了4位有效数据(a、b、c、d)我们可以清晰的看到bit13~0位是4,代表接收到了4个数据(a,b,c,d),第14位为1,是因为接收到了数据0x0d,也和最上面给的表对上了,然后程序向下执行,接收到了0x0d(回车),那下一个就是接收0x0a(换行)了。...原创 2022-08-09 20:10:34 · 11395 阅读 · 2 评论 -
STM32时钟系统
这个函数就是在配置CR,CFGR,ACR(设置FLASH)寄存器的某些位(使能,判断是否就绪,设置相应位,设置FLASH,设置AHB,APB预分频系数,设置HCLK,PCLK等等外设时钟,设置PLL锁相环倍频系数最终确定系统时钟)。APB1 分频器输出一路供 APB1 外设使用(PCLK1,最大频率 36MHz),另一路送给定时器(Timer)2、3、4 倍频器使用。系统时钟的初始化中,系统中会有初始化,参数是默认的。在STM32中,有五个时钟源,为 HSI、HSE、LSI、LSE、PLL。原创 2023-01-06 23:29:31 · 461 阅读 · 0 评论 -
STM32串口通信
STM32有3~5个全双工的串行异步通信接口,可实现设备之间的串行数据的传输。其USART的主要组成部分包括接收数据输入(RX)和发送数据输出(TX)、清除发送(nCTS)、发送请求(nRTS)和发送器时钟输出(CK)等相应的引脚。其内部包括发送数据寄存器(TDR)、接收数据寄存器(RDR)、移位寄存器、IrDA SIR编解码模块、硬件数据流控制器CL制送器制醒单元、接收器控制、 ART 中断控制和波特率控制等。但是传送数据的过程于接收数据的过程不可以同时进行。但其可适用于点对多点。串口操作相关函数步骤。原创 2023-01-08 10:28:16 · 657 阅读 · 1 评论 -
指针与函数
指针作为函数的返回值在C语言中,地址也可以作为一个返回值,被函数返回。但值得注意的是,不能在实现函数时返回在函数内部定义的自动变量的地址。因为作为自定义函数的局部变量,在函数返回时就会自动消亡,其储存单元不再有效。因此,返回指针的函数一般都返回主调函数或者静态存储区中变量的值,值得一提的是,在函数中是通过动态内存分配方式建立的内存单元,其地址也可以正常返回。#include "stdio.h"char *find(char *s,char ch);int main(void){原创 2022-04-22 16:30:07 · 1426 阅读 · 0 评论 -
按位运算与移位运算
以下都以2进制数进行分析理解:1,按位与 &如果(x)i=1并且(y)i=1,那么(x&y)i=1.否则的话,(x&y)i=0;按位与常用于两种应用:让某一位或某些位为0:x&0xFE取一个数中的一段:x&0xFF;例如:(1110 0101)&(1101 0111)=(1100 0101);2.按位或 |如果(x)i==1或(y)i==1,那么(x|y)i=1,否则(x|y)i=0.按位或 的两种应用:使得以为或几原创 2022-04-18 21:35:33 · 574 阅读 · 0 评论 -
串口初始化(LED灯,通信,按键,中断)
STM32 的发送与接收是通过数据寄存器 USART_DR 来实现的,这是 一个双寄存器,包含了 TDR 和 RDR。当向该寄存器写数据的时候,串口就会自动发送,当收 到收据的时候,也是存在该寄存器内。一个外设的引脚除了具有默认的端口外,还可以通过设置重映射寄存器的方式,把这个外设的引脚映射,映射到其他的端口。其中(GPIO_PinRemapConfig()),为端口重映射相关的函数,用于打开串口另一个功能。部分重映射:功能外设的部分引脚重映射,还有一部分引脚是原来的默认引脚。外部中断,使能AFIO时钟。.原创 2022-08-11 11:43:12 · 2972 阅读 · 0 评论