自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(151)
  • 资源 (1)
  • 收藏
  • 关注

原创 【STM32】小车

在强光下还是可以看得清楚。

2023-12-06 17:44:39 65

原创 【江科大--32课程中讲解到的外部设备】

旋转编码器:用来测量位置、速度或旋转方向的装置,当其旋转轴旋转时,其输出端可以输出与旋转速度和方向对应的方波信号,读取方波信号的频率和相位信息即可得知旋转轴的速度和方向类型:机械触点式/霍尔传感器式光栅式有脉冲过来,STM32进入中断函数处理;没有脉冲,就做自己的事情。旋转编码器工作原理图_编码器工作原理图解-腾讯云开发者社区-腾讯云1)用PWM信号来控制舵机输出轴的角度2)三根输入线,两根电源线,一根信号线。PWM就是输入到这个信号线来控制舵机。

2023-12-05 14:03:37 35

原创 【STM32】电机驱动

驱动Q1和Q4。

2023-12-03 21:16:53 310

原创 【STM32】TF卡&&FTA32文件系统

(1)参考项目驱动创新学习训练营中《基于X210的裸机时钟温度显示器》第2季课程(2)文件系统(仓库管理员)是一套用来管理存储设备的软件(3)文件系统给用户提供用文件访问存储的机制,比扇区式访问舒服(1)网络搜索FAT32文件系统FAT32指的是文件分配表是采用32位二进制数记录管理的磁盘文件管理方式,因FAT类文件系统的核心是文件分配表,命名由此得来。(2)官网 http://elm-chan.org/fsw/ff/00index_e.html(3)

2023-11-21 19:42:49 579 1

原创 【STM32】W25Q64 && SPI(串行外设接口)

同步(有时钟线),高速,全双工(数据发送和数据接收各占一条线)1)SCK:时钟线-->SCLK,CLK,CK--->等价于IIC的SCK2)MOSI(主机输出从机接收),MISO(主机接收从机输出):DO(Data Output),DI(Data Input)--->等价于IIC的SDA3)SS(片选):NSS(Not Slave Select)-->低电平有效,CS(Chip Select)-->专门进行主机和该指定从机的通信线路(可能不只一条)4)SPI只接受:一主多从5)SPI没有应答数据。

2023-11-20 15:22:21 428

原创 【STM32】IIC(Inter Integrated Cirruit--集成电路总线)

同步(有时钟频率),半双工(同一个时间只能接收或者发送),串行(一个字节一个字节传输),高位读取一主多从:表示只能主机同意发送才可以发送多主多从:表示其中每一个人都有说话的权力,但是同一个时间只能有一个人说话【仲裁】10轴:3轴加速度+3轴角速度+3轴磁场强度+1个气压强度姿态角=欧拉角【比如飞机的左转,右转等】压了任意一个面,就会产生压力,输出对应的压力值。

2023-11-19 22:50:22 143

原创 【STM32】ADC(模拟/数字转换)

1) 输入电压的范围在参考电压的两个范围之间。2)Vref+和Vref-分别接着Vdda(3.3V)和Vssa(0V)将外部0-3.3V的模拟信号接入到单片机底座脚P11(PA1)口本实验使用了APB2(ADC1的时钟频率为14MhZ)使用了ADC1的通道1,测试外部0-3.3V的模拟信号1.真正的随机数2.伪随机数。

2023-11-19 16:14:11 618

原创 【STM32】DMA(直接存储器访问)

判断DMA是否需要中断??比如:1)我们从ADC(人脸)将数据传输到SRAM(人脸识别),则直接通过DMA传输就可以。不需要CPU的其他操作就可以完成任务。2)如果我们从ADC读取到温度,但是此时温度需要CPU去处理,则DMA就需要进行中断,将从ADC获取到的数据传输给CPU进行处理。

2023-11-18 16:15:38 510

原创 【STM32】CRC(循环冗余校验)

N=K(数据信息)+R(校验码),K位信息码,R位校验码,N位总信息长度(2)CRC多项式:由K位信息码计算得到R位校验码的算法,以移位(左移,右移)和mod2(取余)为主的叠加。

2023-11-17 16:17:39 646

原创 【STM32】RTC(实时时钟)

一般分频后的时钟频率为1HZ浅灰色的部分都是属于备份域的,在VDD掉电时可 在VBAT的驱动下继续运行。这部分仅包括RTC的分频器,计数器, 和闹钟控制器。使能PWR&&BKP时钟将输入的时间转换形式写入寄存器//月份数据表//月修正数据表//平年的月份日期表* 函 数 名 : RTC_Set* 函数功能 : RTC设置日期时间函数(以1970年1月1日为基准,把输入的时钟转换为秒钟)1970~2099年为合法年份* 输 入 : syear:年 smon:月 sday:日。

2023-11-17 14:21:26 913

原创 【STM32】串口和printf

实际上就是按位来对数据进行发送和接收。USART虽然是同步和异步都可以进行使用,但是我们大多数情况下使用的都是异步通信。synchronous:同步asynchronous:异步两个USART之间不能实现同步的串口通信SCLK:可以用来兼容其他通信协议对USART进行初始化//定义一个要进行发送的数据//定义一个要进行接收的数据HAL_Init();while (1)//第一个参数要传入的是地址//size:要发送的大小//0x0000ffff:超时时间。

2023-11-14 23:53:14 704

原创 【STM32】定时器+基本定时器

这个函数的作用:MSP是指和MCU相关的初始化。

2023-11-13 16:54:02 829

原创 【STM32】STM32Cube和HAL库使用初体验+回调函数解读

(1)先理清条理,搞清楚是怎么从CubeMX配置到MDK工程中的(2)建立SI(Source Instight)工程,协助分析HAL库源码(3)先从时钟、GPIO等模块学起,掌握这套体系架构(4)逐步拓展到其他外设模块,学习HAL库的使用。

2023-11-10 10:16:22 348

原创 【STM32】STM32的Cube和HAL生态

STM32项目工程的搭建-CSDN博客因为开发比较晚,所以只能使用HAL库进行开发F:主功能系列--》性能一般L:专注与低功耗,不在乎性能H:性能高。

2023-11-09 14:30:55 465

原创 【STM32】PWM:脉冲宽度调制

使用PWM波形,就可以在数字系统等效输出模拟量1)通过定时器的中断,在isr中将一个GPIO引脚电平反转,可以实现PWM输出功能【麻烦,设置多】2)定时器附带专用的PWM输出功能,定时器那边和某一个引脚绑定,然后定时器设置好了之后内部开始+1或者-1,然后时间到了之后不是产生中断,而是直接将绑定的引脚电平反转产生PWM输出。【CPU不参与,效率高】脉宽(高电平)占总周期的比例1)可以用来调制脉冲宽度--》脉冲宽度调制。

2023-11-08 13:36:52 581

原创 【STM32】通用定时器

我们这里可以在运行时对其进行修改的是count计数器(可以在当前事件执行时进行更新,也可以等到下一次更新事件发生后在进行改变)APB1时钟确实是36MHZ,但是APB1到定时器时钟那边中间被乘以2,所以又变成72MHZ了。,因为如果原来ff,然后现在走到05,然后修改为36,不可能重新回36在继续减,这是不合理的。真正的计时器使能信号CNR_EN(定时器打开)是在CEN的一个时钟周期后被设置。预分频器(预分频器的值只能在下一次更新事件到来时被采用。定时器是基于计数器进行的,分频,然后走一格就计数一次。

2023-11-07 09:33:55 286

原创 【STM32】Systick定时器

独立看门狗:当没有到设定时间之前,给它喂了狗,就会回到初始值。

2023-11-06 13:14:45 393

原创 【STM32】STM32中断体系(NVIC+EXIT)

(1)数据手册中相关部分浏览(2)地址映射时0地址映射到Flash或SRAM(3)中断向量表可以被人为重新映射,一般用来IAP中(4)STM32采用一维的中断向量表(5)中断优先级设置有点复杂,后面细说因为中断处理是在CPU内部进行的,所以没有单独的.c和.h文件NVIC在【misc.c】中中断-NVIC与EXTI外设详解(超全面)-腾讯云开发者社区-腾讯云中断-NVIC与EXTI外设详解(超全面)-腾讯云开发者社区-腾讯云。

2023-10-26 14:39:23 694

原创 【STM32】标准库的引入

STM32标准外设软件库: 相关产品不用直接写数字,而使用宏定义.c文件对其进行封装这个头文件是标准库的模板中的,将所有需要使用到的头文件包含进去所以在整个工程中,无论我们创建一个什么类型的.c文件,只要我们定义了则就等价于将所有的外设器件的.h文件包含进来了(1)一种编程思想(面向过程、面向对象)(2)什么是对象(3)面向对象三大特征:封装、继承、多态(4)面向对象编程思想和面向对象语言是两码事。

2023-10-25 20:01:33 510

原创 【STM32】GPIO控制LED(标准库版)

/AFIO:复用寄存器//位掩码。

2023-10-25 19:58:25 615

原创 【STM32】RCC时钟模块(使用HAL库)

如果这个宏定义只能在.c文件中使用,则应该在.c文件中定义如果这个宏定义既可以在.c或者.h文件中使用,则应该在.h中定义。

2023-10-24 17:38:33 335

原创 【STM32】时钟设置函数(寄存器版)

前面代码并没有设置时钟为什么可以直接使用。

2023-10-23 21:08:07 526

原创 【STM32】GPIO控制LED(寄存器版+HAL版)

STM32F103核心板下载教程.pdf · 林何/STM32F103C8 - 码云 - 开源中国 (gitee.com)电源引脚(V开头),晶振引脚(PC-OSC),复用引脚(NRST),下载引脚(根据调试器的不同),BOOT引脚(BOOT0,BOOT1)【精选】深刻理解GPIO(上拉输入、下拉输入、模拟输入、浮空输入,开漏输出,推挽输出的区别,以STM32为例)-CSDN博客【STM32】GPIO工作原理(八种工作方式超详细分析,附电路图)-CSDN博客五、其他寄存器的测试1.端口

2023-10-22 13:21:33 320 2

原创 STM32项目工程的搭建

关于宏定义可以在stm32f10x.h文件中查看。

2023-10-21 18:58:48 147

原创 【STM32】两个版本MDK搭建和三种调试器的使用

1)Keil官网中的MDK5和MDK4完全分离的2)MDK5和MDK4可以在同一个windows中共存1)几根重要的线2)标志20针,14针,10针JTAG接口。

2023-10-20 20:20:49 709

原创 【嵌入式C语言】1--内存

内存是用来存储可变数据的,数据在程序中表现为全局变量,局部变量灯(在gcc中,其实常量也是存储在内存中)(大部分单片机中,常量是存储在flash中,也就是在代码段),对我们写程序来说非常重要。内存实际上是电脑的一种配件(一般叫内存条)。根据不同的硬件实现原理还可以把内存分为SRAM和DRAM。

2023-10-20 14:49:03 64

原创 【STM32】--PZ6860L,STM32F4,ARM3.0开发板

STM32和51的IO对应关系下载电路内部内存不够用,所以使用外部硬件可以不支持浮点运算。编译环境支持浮点库,可以将用c语言写的浮点数运算转成整形运算,对于单片机来说根本不知道float,double这回事,所以单片机不需要有专门的浮点数运算单元就可以算浮点数。

2023-10-19 10:28:51 721

原创 【STM32】---存储器,电源核时钟体系(RCC)

(1)STM32是32位CPU,数据总线是32位的(2)STM232的地址总线是32位的。(其实地址总线是32位不是由数据总线是32位决定的)(3)STM32可以访问的地址容量是:4GB(2的32次方Byte)ARM是内存与IO统一编址。

2023-10-18 21:37:53 662

原创 【ARM裸机】ARM入门

Flash将内容放入CPU中的寄存器,然后寄存器在传输到内存中【Flash和内存之间不能直接通信】,程序是在内存中运行的,Flash只是存储内容。

2023-10-18 10:32:21 431

原创 【STM32】--基础了解

仿真器和调试器的区别 - 易百教程软件仿真:keil硬件仿真:仿真器:模拟CPU调试器(debug):可以调试多种CPU。

2023-10-17 15:04:24 417

原创 C语言复杂表达式与指针高级

(1)一般规律,Int *p(p是一个指针)int p[5](p是一个数组)(2)我们在定义一个符号时,关键在于:首先搞清楚你定义的符号是谁第一步:找核心;第二步:看谁和核心最近,谁根核心结合;第三步:以后继续向外结合(3)如果核心与*结合,表示核心是指针;如果核心和【】结合,表示核心是数组;如果核心和()结合,表示核心是函数(4)用一般规律找到核心后从内向外层进行结合,结合之后可以把已经结合的部分当成一个整体,再去和整体外部的继续进行结合。

2023-10-17 09:18:16 78

原创 单片机综合小项目

(1)主控:stc51;(2)编程语言:C语言(3)开发环境:Keil(4)1602屏显示时间和温度;当温度超过预定值时蜂鸣器和电机工作报警矩阵按键或者红外遥控器:修改时间//封装出来的一个表示时间的结构体类型//类型不占内存,也不表示一个具体时间,但是类型可以用来生成时间//每一个时间变量占一定的内存,每一个时间变量就代表一个具体的时间//2023//1-12//1-31【几号】//0-23//0-59//0-59//0-6【星期几】

2023-10-14 23:48:18 865

原创 【单片机】19-TFT彩屏

(1)LCD显示器的构成:液晶面板+驱动器【电压驱动】+控制器【逻辑控制】(2)液晶面板大致分为:TN,TFT,IPS等(3)驱动器是跟随面板的【带动液晶分子运动】,和面板更相关,跟编程无关(4)控制器的逻辑部分,和编程严重相关负逻辑的CS【0表示选中,1表示未选中】如果我们不知道对应的线应该对应原理图的那一条,则对应相关代码去找NCS【复位】--》原理图:LCD_EN--》CS【0表示未选中,1表示选中】DNC_SCL【选择DNC还是SCL】:原理图:LCD_RS。

2023-10-10 23:53:30 484 1

原创 【单片机】18-红外线遥控

全局变量在哪个C文件中用就在哪个C文件中定义不能放在头文件中定义如果在多个C文件中都要用到同一个全局变量,应该在一个主要的C文件中定义然后其他C文件中extern声明即可。

2023-10-09 23:50:58 440

原创 【单片机】17-温度传感器DS18B20

(1)测温度的方式:物理(汞柱,气压),电子(金属电性能随温度变化)(2)早期:热敏电阻(模拟接口---》(3)现代:专用sensor(数字接口,如I2C,DS18B20单总线接口等)

2023-10-09 00:01:33 687

原创 C指针【嵌入式】

(1)首先非常关键的是,指针的实质就是一个变量,它跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量,简称为指针。//a的实质其实就是一个编译器的符号,再编译器中a和一个内存空间联系起来//这个内存空间就是a所代表那个变量int a;//定义了一个int型变量,名字叫aint* p;//定义了一个指针变量,名字叫p,p指向一个int型变量a = 4;//可以操作p = 4;//编译器不允许,因为指针变量虽然实质上也是普通变量,但是它的用途//和普通变量不同。

2023-10-07 23:31:37 92

原创 C位操作符

位与:(任何数,其实就是1和0)与1位与无变化,与0位于变成0位或:(任何数,其实就是1和0)与1位或变成1,与0位或无变化位异或:(任何数,其实就是1和0)与1位异或会取反,与0位异或无变化(1)如果你要的这个数比较少位为1,大部分位为0,则可以通过连续很多个1左移n位得到(2)如果你想要的这个数是比较少位为0,大部分为1,则可以通过先根据其位反数,然后再位取反来得到(3)如果你想要得到的数中连续1(连续0)的部分不止1个,那么可以通过多段分别构建,然后再彼此位与【|】即可。

2023-10-07 14:32:08 78

原创 【单片机】16-LCD1602和12864和LCD9648显示器

16*2--》显示器可以显示的字符【显示器可以显示2排,每排16个能显示的字符数是32,但是像素数不是32,因为一个字符是由多个像素组成的。有可能一个字符是由5*7=35个像素组成的,也有可能是由6*8=48给像素组成的。但是我们不用去管,因为LCD1602内置了字库了。RS=1时候,D0-D7上传输的是数据RS=0时候,D0-D7上传输的是命令RW=1时候,表示我们要读RW=0时候,表示我们要写E=1时候,表示使能 enableE=0时候,表示禁止(禁能) disable。

2023-10-04 00:45:44 2023 1

原创 【单片机】15-AD和DA转换

A(A,analog,模拟的,D,digital,数字的)现实世界是模拟的,连续分布的,无法被分成有限份;计算机世界是数字的,离散分布的,可以被分成有限份的AD转换就是把一个物理量从模拟的转换成数字的。

2023-10-02 18:50:08 1513

原创 【单片机】14-I2C通信之EEPROM

上层:器件时序(1)主CPU和其附属芯片之间最常用的接口,尤其是各种传感器,因此在物联网时代非常重要(2)三根线:SCL,SDA,GND,串行,电平式(3)总线式结构:可以一对多,总线上可以挂上百个器件【一个主设备,多个从设备】,用【从地址】来区分--主设备不需要地址(4)主从式,由主设备来发起通信及总线仲裁,从设备被动响应(5)通信速率一般(kbps级别),不合适语音,视频等信息类型从设备回复主设备,判断从设备是否得到数据。可以设置是否要进行”应答信号“【可有可无】

2023-10-02 00:24:52 612

大一 c语言知识点大总结

这个思维导图是我在大一的时候,学习C语言的时候自己总结的笔记。其中包括网课笔记,上课笔记和自己看相关书籍的笔记。里面还有许多错误,如果大佬有发现错误,请私信我,大家共同进步。谢谢。

2022-07-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除