自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 STM32外设定时器

/定时时间的配置,也就是配置重载值,而重载值会传递给计数值 TIM_TimeBaseStructure.TIM_Prescaler = 8400-1;//配置分频值,确定定时器的时钟频率 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;具有基本的定时功能,也有 PWM 输出(灯光亮度控制、电机的转速)、脉冲捕获功能(红外捕捉)。如果 APB 预分频器为 1,定时器时钟频率等于 APB 域(APB1和APB2)的频率。

2023-08-09 18:29:18 651

原创 STM32系统定时器

/ 使能系统定时器工作,且时钟源为系统时钟的8分频(168MHz/8=21MHz)SysTick 叫做系统滴答时钟、系统定时器,属于 Cortex-M4 内核中的一个外设(外围设备),并且是24bit向下递减的计数器。// 等待系统定时器计数完毕。// 168000000/1000000 -1,每次延时1us。//系统定时器连接到PLL输出的168MHz时钟,就是1秒内产生脉冲的个数为168000000。//系统定时器触发1KHz的中断,中断周期时间T= 1/f = 1000ms/1000=1ms。

2023-08-06 21:47:22 473

原创 STM32启动文件

内存空间的开头包含了向量表,向量表中的前2个字是主堆栈指针(MSP)的初始值,以及复位向量,它是复位处理程序的起始地址。例如中断服务函数名字有误或根本没有编写。当产生中断请求后,则跳转到启动代码中的中断服务函数执行程序,但启动代码中的中断服务函数是空函数,程序又得向下执行,最后被“B .”捕捉到。我们需要重点关注的是“Image Symbol Table”,里面描述了各种符号的映射地址,其中包含了各个函数的地址,通过该文件,可以找到EXTI0_IRQHandler函数地址为0x08000383,如下图。

2023-07-30 23:08:00 305

原创 STM32异常与中断

中断,即CPU在正常执行程序的过程中,遇到外部(例如常见的按键中断)/内部(例如定时器中断)的紧急事件需要处理,暂时中断(中止)当前程序的执行,而转去为事件服务,待服务完毕,再返回到暂停处(断点)继续执行原来的程序。中断优先级的一个意义:出现多个中断同时触发,但是不能同时处理,所以先后顺序之分,要根据实际上的运行环境优先处理重要的中断。通俗的说:比如我正在写代码,老板突然给我一个任务,我暂停的写代码,转而把老板布置的任务完成之后,再继续写代码,这个过程就可以理解成中断。事件具有不同的轻重、缓急程度。

2023-07-30 02:34:16 1272

原创 STM32位带操作

类比:新的电脑安装一个win10,默认的win10的存储空间占用是比较大、运行速度不是最快,会安装一些优化软件来优化win10,优化过后,会发现系统盘剩余空间增加了,win10的运行速度也加快了。因为使用对引脚设置电平或读取电平,库函数效率是不高的,很难应付高性能的场合,如下代码,修改某引脚电平要执行起码3行代码,还不包括隐含的调用函数与函数返回的过程。2)裸机编程的时候,某函数与中断服务函数共享全局变量的时候,该全局变量要加上volatile进行修饰,让编译器不要省略该变量的访问。

2023-07-28 11:30:55 244

原创 STM32时钟体系

这两个频率相同的交流电,可以是两个交流电流,可以是两个交流电压,可以是两个交流电动势,也可以是这三种量中的任何两个。锁相环在工作的过程中,当输出信号的频率与输入信号的频率相等时,输出电压与输入电压保持固定的相位差值,即输出电压与输入电压的相位被锁住,这就是锁相环名称的由来。锁相环的工作原理是检测输入信号和输出信号的相位差,并将检测出的相位差信号通过鉴相器转换成电压信号输出,经低通滤波器滤波后形成压控振荡器的控制电压,对振荡器输出信号的频率实施控制,再通过反馈通路把振荡器输出信号的频率、相位反馈到鉴相器。

2023-07-27 16:01:44 140

原创 STM32外设GPIO篇

推挽电路采用两个参数相同的功率BJT管或MOSFET管,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小效率高。电路的驱动能力由负载电容决定的,当负载电容一定时,GPIO端口的驱动能力越大,充放电的电流也越大,上升时间就越短。推挽输出有很多优点,比如更低的损耗,更安全的输出等。3. 如何使用库函数实现一个具体的功能,ST公司都会提供例子文档,告诉我们库函数如何使用,如函数前后的调用顺序,详细硬件初始化流程,无论是新手还是老手都要看。

2023-07-20 15:57:55 765

原创 Vscode编辑器C/C++环境配置

vscode编辑器

2022-09-01 21:52:29 9596 2

原创 开源协议(GPL,LGPL,BSD,MIT,Apache,Creative)

开源协议

2022-08-28 20:20:53 691

原创 git建立本地仓库并上传代码到github

一、安装GitHub下载地址:https://git-for-windows.github.io/一直下一步就好了然后登入github官网(有梯子建议用梯子,因为服务器在美国,速度很慢1,GitHub下注册账号并且创建一个公有仓库注:github相当于一个在线文件夹新建一个仓库就相当于新建一个文件夹,仓库名相当于文件夹名git中分为本地项目,暂存区,本地仓库,远程仓库2,在Ubuntu上输入个人信息git config --global use...

2022-04-07 17:18:46 1717

转载 git的基本命令

一、 Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git push origin master 将文件给推到服务器上git remote show origin 显示远程库origin里的资源git push origin master:hb-dev 将本地

2022-04-07 10:32:33 2413

翻译 STM32嵌入式开发常用的协议UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-WIRE、Ethernet

在单片机开发中,UART、I2C、RS485等普遍存在,对它们的认识可能模棱两可,本文它们整理了。UART口通用异步收发器UART口指的是一种物理接口形式(硬件)UART是异步,全双工串口总线。它比同步串口复杂很多。有两根线,一根TXD用于发送,一根RXD用于接收。推荐文章:STM32与51单片机串口通信实例。UART的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置。对于发送设备和接收设备来说,两者的串行通信配置应该设置为完全相同。...

2022-02-27 13:45:58 4198

原创 如何理解STM32单片机引脚的复用功能?

1、对于单片机而言,GPIO引脚的配置是很基础也是很重要的。错误的引脚配置非但不能实现想要的功能,而且出错时往往不容易查找,耽误调试的时间。这就需要编程调试人员对GPIO引脚的配置有很好的理解。今天这篇文章,我们就来谈谈STM32Fxx系列单片机引脚的复用功能(Alternate Function)。 2、STM32Fxx系列单片机的GPIO引脚可以配置为浮空输入(Input Floating)、上拉输入(Input Pull-up)、下拉输入(Input Pull-down...

2022-02-20 23:54:16 21389 5

原创 利用共用体,判断大小端序

1、共用体(union) 也称为联合体,跟结构体类似,但比结构体低调很多,他们的本质区别,结构体中的各个成员各自独立,占用不同的内存空间,而共用体不同,它里面的各个成员的内存是"共用"的union example{ int a; char b;double c;}x;在这个例子中,共用体变量x的大小等于各成员的最大值,也就是c的大小:8个字节。由于在内存中这三个成员是相互覆盖的,所以在任意给定的时刻,只能有一个成员有效。...

2022-02-19 10:10:38 957

转载 了解SRAM跟DRAM的区别在哪里

在半导体存储器的发展中,静态存储器(SRAM)由于其广泛的应用成为其中不可或缺的重要一员。随着微电子技术的迅猛发展,SRAM逐渐呈现出高集成度、快速及低功耗的发展趋势。近年来SRAM在改善系统性能、提高芯片可靠性、降低成本等方面都起到了积极的作用。今天就带你详细了解一下到底什么是SRAM,在了解SRAM之前,有必要先说明一下RAM:RAM主要的作用就是存储代码和数据供CPU在需要的时候调用,相关文章:单片机中的RAM vs ROM。但是这些数据并不是像用袋子盛米那么简...

2021-12-26 20:38:28 332

翻译 网络编程学习总结

1、网络体系结构模型2、网络编程专业术语:socket/ip/端口号3、网络编程通信协议:TCP协议、UDP协议4、网络编程IO模型:阻塞IO/非阻塞IO/多路复用/信号驱动5、超时接受数据方法一、系统编程中进程的通信方式1、管道 无名管道(只能作用于亲缘间通信)---pipe write read 无名管道(系统中任意两个进程) ---mkfifo2、信号 发送信号 ---...

2021-12-26 17:05:00 322

空空如也

空空如也

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

TA关注的人

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