自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STM32低功耗模式

低功耗是在嵌入式微处理器系列的一个重要优势,特别适用于需要长时间运行且功耗敏感的应用场景。在很多应用场合中对电子设备的功耗非常苛刻,如某些传感器信息采集设备,仅仅靠小型的电池提供能源,要求工作长达数年之久,所以很有必要从控制功耗入手。1.stm32具有运行,睡眠,停止,等待四种工作模式,上电后默认是在运行模式。当内核不需要继续运行,就可以选择进入后面的三种低功耗模式降低功耗,这三种模式中,电源消耗不同、唤醒时间不同、唤醒源不同,用户需要根据应用需求,选择最佳的低功耗模式。三种低功耗的模式说明如下图。

2024-10-21 22:27:25 1584

原创 STM32-OLED屏幕(0.96)IIC驱动库

显示汉字,第一个参数是控制横向控制,第二个是纵向控制,第三个是你存在font.h里面数组显示汉字的第几个位置,第四个是字体的大小就是你取模的大小。链接:https://pan.baidu.com/s/1y3K3Gzt3odjotELZ9vqxJg?链接:https://pan.baidu.com/s/1zn0A2P6KiVqMcCJ-FH2Mug?oled.h屏幕的头文件,注意这里面的两个IO口,根据自己oled屏幕实际接线来修改。跟着搞了一个驱动oled的库,使用起来非常方便,现在分享给大家。

2024-10-16 19:38:15 375

原创 HAL库 + STM32看门狗(IWDG/WWDG)

IWDG本质上是一个12位的递减经济暑期,计数器从初始值一直减到0是,系统会产生一个复位信号,CPU接收到这个信号后,会重新启动系统。在计数器减到0之前,如果通过程序给他喂一次食物 “喂狗”,那么就不会产生复位信号,系统也将正常运行。窗口看门狗的本质是一个能传声复位信号和提前唤醒中断的计数器。递减计数器从0X40减到0X3F是复位。计数器的值大于W[6:0]值喂狗会复位产生中断条件当递减计数器等于0X40时可产生提前唤醒中断。

2024-09-24 21:17:05 901

原创 STM32定时器相关配置步骤-学习笔记

2.定时器PWM输出MSP初始化,配置NVIC,CLOCK,GPIO等。2.定时器输入捕获MSP初始化,配置NVIC,clock,GPIO等。1.配置定时器基础工作参数 HAL_TIM_PWM_LNIT()3.配置输入通道映射,捕获边沿等。3.配置PWM模式/比较值等。6.使能捕获,捕获中断及计数器。8.编写更新中断和捕获回调函数。1.配置定时器的基础工作参数。4.使能输入捕获并启动计数器。1.配置定时器基础工作参数。4.设置优先级,使能中断。5.使能定时器更新中断。3.配置定时器从模式等。

2024-09-18 16:28:05 230

原创 基于STM32 实现排队系统,利用SysTick模拟多任务。(学习日记)

由于使用了SysTick来模拟多任务,所以记得在SysTick中断服务函数中去添加任务的函数。每次最多通过五人,允许通过时led1闪烁,蜂鸣器不响,门开,不允许通过时,led2闪烁。本次的实验项目没有难,就是把之前用过的模块整合了一下,大致的需求是。完结,整体感觉没有什么好讲的,都是一些很基础的东西。LCD1602相关代码:lcd1602.c。红外模块相关代码:exti.c。蜂鸣器相关代码:beep.c。继电器相关代码:gate.c。任务相关代码:tasks.c。延时代码:delay.c。

2024-09-11 18:58:48 348

原创 STM32使用HAL库来配置中断

一直坚持我的一句话:舞台再大,你不上台,永远是观众。平台再好,你不参与,永远是局外人。函数:HAL_GPIO_EXTI_IRQHandler()是外部中断共用的入口函数,函数内部会清除中断标志位,并调用callback回调函数。通过中断入口函数的GPIO_PIN判断来自哪个IO口的中断,然后执行中断回调函数,就在该函数里来实现中断后你想要实现的功能。主程序执行LED的闪烁,利用中断来使按键来控制LED的亮灭。参数:中断号,IRQn_Type的类型。配置中断口,配置中断触发的方式等。大概画了一下,能力有限。

2024-08-13 20:35:58 1481

原创 STM32利用CubeMX快速移植FreeRtos

答: 裸机的默认时钟源是SysTick,打开FreeRtos会占用SysTick,所以需要其他总线另外提供时钟源。6.点击Project Manager,命名项目名称和项目保存的位置,Toolchain 切换成 MDK-ARM。答:CMSIS_V2的内核版本更高,功能更多,但在大多数情况下CMSIS_V1的版本内核完全够用。5.打开FreeRtos ,把interface选择为CMSIS_V1。1.打开调试串口,时钟源选择TIM中任意一个。为什么要选择 CMSIS_V1,而不是CMSIS_V2?

2023-07-26 11:16:50 586 1

原创 设计模式---简单工厂模式

主要原因是以前写代码乱写,看起来杂乱无章,添加和拓展功能的时候会导致其他部分的代码被破坏,所以才会学习设计模式,设计模式有23种,目前先学习一下简单工厂模式。比如,您需要一批果汁,可以直接告诉工厂你需要一批果汁就行,而不用去管这些果汁是怎么做出来的,以及制作榨果汁里面的具体实现。工厂模式,是最常用的设计模式之一,种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。1.先创建一个工厂的类(结构体),它可以根据参数的不同返回不同类的实例。通过给API传入不同的参数,工厂生产出不同的东西。

2023-07-03 16:11:13 112 1

原创 树莓派内核编译,替换。

下载linux内核源码树。下载好之后传送到ubuntu里面。下载安装交叉编译工具链。内核配置有三种方式。第一种:基于厂家提供的linux内核源码(.config文件)进行配置。第二种:make menuconfig 根据厂家提供的一项一项的配置。第三种:自己搞。树莓派2,3的工程是bcm2709_defconfig.(1)先搜索一下所有的config文件,看有没有bcm2709_defconfig这个文件在里面找到这个bcm2709_defconfig的文件。

2023-06-25 19:59:53 585

原创 树莓派—交叉编译

交叉编译可以理解为 是在一个平台生成在该平台的可执行代码。本地编译 在本地平台上,编译生成的程序只能放到当前平台下运行。比如,我们在x86上面编译生成的可执行代码,只能放在x86架构上面运行,不能放在ARM架构上面运行。交叉编译 是在本地平台上编译生成另一个平台的可执行代码,但是编译平台却不能运行此代码。比如我们在Windows上面编写STM32、C51代码,并编译成可执行代码,如xx.hex,是在STM32,C51上面运行,不是在Windows上面运行。

2023-06-15 16:52:46 255 1

原创 Linux 中静态库,动态库的制作与使用。

解决方法一:将libcount.so拷贝到 /usr/lib/ 里面去,它执行的时候就会从/usr/lib/ 里面去找,那如何让它从当前路径开始去找呢?编译 gcc main.c -lcount -L ./ 生成 a.out,-lcount表示链接libcount.so。例:main.c,count.c,count.h 三个文件 main.c 调用了count.c。例:main.c func.c func.h 三个文件 ,main.c调用了func.c。// -shared 指定生成动态库。

2023-06-12 17:56:32 495 1

原创 Socket网络编程(TCP/IP)实现服务器/客户端通信。

Linux网络编程(TCP/IP)

2023-03-23 12:13:09 1692 3

原创 Linux系统编程,使用C语言实现简单的FTP(服务器/客户端)

Linxu 网络编程 实现简单的FTP

2023-03-23 10:58:38 3742 7

原创 Linx进程间通信(IPC)和基本操作。

Linux进程间通信,

2023-03-16 21:19:14 257

原创 Linux线程的创建和基本操作

Linux系统线程的基本操作

2023-03-16 18:06:11 1084

原创 Linux文件编程实现复制(cp)命令。

Linux文件编程实现复制(cp)命令。

2023-03-06 19:22:16 1034

原创 Linux系统文件编程基本操作

Linux系统文件编程的基本操作

2023-03-05 21:06:32 693

原创 用C语言实现贪吃蛇(基于Linux系统 ubuntu 环境,调用curses库实现)

基于C语言 ,linux 系统,实现贪吃蛇小游戏。

2023-03-04 20:03:53 1855 1

空空如也

空空如也

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

TA关注的人

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