- 博客(24)
- 收藏
- 关注
原创 图像存储方式:RGB格式
本文介绍了RGB图像格式的存储原理。主要内容包括:1. RGB格式分类(32bpp/24bpp/16bpp)及其存储特点,32/24位采用RGB888格式,16位常用RGB565;2. 物理存储顺序说明,24位RGB888实际以BGR顺序存储,32位为BGRA;3. 寄存器存储的小端序特性对多字节数据的影响;4. RGB888转RGB565的位操作转换方法,通过掩码提取高位并重新组合。文章特别强调了物理存储顺序与寄存器存储顺序的区别,以及不同位深格式间的转换原理。
2025-07-26 12:09:39
772
原创 数据结构——【图】
原创笔记,摘录自B站印度三哥的油管天才程序员的教学视频https://www.bilibili.com/video/BV1Fv4y1f7T1?spm_id_from=333.788.videopod.episodes&vd_source=6622fd4eeb9d549152be3599fb16d8fc&p=42
2025-07-08 16:37:15
340
原创 数据结构——【动态内存】
(1)栈Stack:存储所有函数调用执行的信息和所有局部变量(称为栈帧,栈帧里包括函数的运行状态,还有函数内调用的局部变量,函数一次性调用结束就会清空该部分内存)(2)堆Heap:存放临时数据,存储空间的大小不固定(使用malloc或new函数时会用到)(4)代码段Code(Text):存储所有需要被执行的指令。(3)全局区Global:存放全局变量的部分。
2024-12-16 21:11:03
119
原创 ARM、STM32的相关概念
电源引脚(V开头引脚,包括VDD、VBAT等)、晶振引脚(OSC引脚,分为高速和低速)、复位引脚(NRST)、下载引脚、BOOT引脚(BOOT0,另外如PB2引脚复位后也可做为BOOT1,但只在M3/4中才有)、GPIO引脚。而STM32就属于M3系列内核,其中ST:意法半导体,M:MCU/MPU,32:支持32位的处理器,相关资料可从ST中文社区网下载。纵向是字母,横向是数字,十字交叉格就是管脚,如第一行前两个是A1引脚和A2引脚。⑤是引脚默认功能,⑥是引脚复用功能,其中重定义是通过重映射的复用功能。
2023-05-18 12:10:32
409
原创 蓝牙模块
一 、模块简介嵌入式蓝牙串口通讯模块(简称蓝牙模块)具有两种工作模式:命令响应工作模式和自动连接工作模式。当模块处于命令响应工作模式(或者AT模式)时能才能执行 AT 命令,用户可向模块发送各种 AT指令,为模块设定控制参数或发布控制命令。(AT指令就是我们PC与一些终端设备(例如蓝牙,WiFi模块)之间进行通信的,配置这些终端设备参数的一套指令。)在自动连接工作模式下模块又可分为主(Master)、从(Slave)和回环(Loopback)三种工作角色。当模块处于自动连接工作模式时,将自动根据事
2021-03-23 21:43:35
4770
原创 电机模块驱动
//初始化TIMX,设置TIMx的ARR,PSC//arr:自动重装载初值,psc为预分频值,两者配合控制定时器时钟的周期//定时器选择TIM1static void TB6612_ADVANCE_TIM1_Mode_Config(TIM_TypeDef* TIMx,uint16_t arr,uint16_t psc,uint16_t duty) { //-----------------时基结构体初始化-------------------------/ TIM_...
2021-03-22 11:14:49
322
原创 超声波避障小车
超声波模块采用HC-SR04超声波模块,该芯片具有较高的集成度以及良好的稳定性,测度距离十分精确,十分稳定。供电电压为DC5V供电电流小于10mA,探测距离为0.010m-3.5m,一共有四个引脚VCC(DC5V)、Triger(发射端)、Echo(接收端)、GND(地)。实物长这样:该模块是利用单片机的IO触发电平测距,过程如下:单片机内部利用普通定时器产生一个高电平信号之后,超声波就可以自主发送8个频率为40khz的方波,然后等待信号的返回;若有信号返回,单片机IO口就立刻输出一高电平,高
2021-03-22 09:48:41
3740
1
原创 HC05蓝牙串口通信模块
HC-05蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了。因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你只要知道串口怎么编程使用,就可以实现了所谓的透明传输(透传)。此文章中用蓝牙模块实现手机蓝牙控制STM32芯片的功能。一、蓝牙模块的调试待完善二、手机蓝牙控制STM32单片机实现功能:手机通过蓝牙,向STM32单片机发送消息,STM32接收到消息之后原封不动的返回给手机。当然如果掌握了这...
2021-03-21 16:34:21
2042
原创 STM32串口通信:USART
一、通信接口背景知识设备之间通信的方式1、一般情况下,设备之间的通信方式可以分成并行通信和串行通信两种。它们的区别是:串行通信:数据按位顺序传输。优点:占用引脚资源少,缺点:速度相对较慢。并行通信:数据各个位同时传输。优点:速度快,缺点:占用引脚资源多。串口通信一般是以帧格式传输数据,即一帧一帧传输,每帧包含有起始信号、数据信息、停止信息,可能还有校验信息。2、串行通信的分类(1)按照数据传送方向,分为:单工:数据传输只支持数据在一个方向上传输;半双工:允许数据在两个方向.
2021-03-20 23:09:22
1651
1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(五)
一、编码方式1、编码:指用数字来表示字符,如用0x41来表示A2、编码有很多标准,如ASCⅡ(美国信息交换标准代码),ANSⅠ码3、ASCⅡ码使用一个字节的7位来表示字符,一共能表示2ˇ7即128个字符,缺点是表示的字符太少。4、选择ANSⅠ码编码时另需选择相应的字符集(如大陆使用GB2312),才能显示想要的字符。ANSⅠ码向下兼容ASCⅡ码,bit7为0表示ASCⅡ码并使用一个字节表示; bit7为1表示ANSⅠ码并用两个字节表示(如汉字)。二、编码实现1、...
2021-02-16 15:21:54
323
1
原创 韦东山嵌入式入门笔记之——开发板上的第一个APP和驱动程序
注:开发板以IMX6ULL PRO开发板为例!!!正文一、在开发板上编译程序即使用交叉编译器编译程序1、最重要的是先找到交叉编译的前缀:(1)一种运用自动补全功能:输入 arm- 然后加Tab键,就会出来想要的前缀(2)第二种方法是查看环境变量CROSS_COMPILEbook@100ask:~$ echo $CROSS_COMPILEarm-linux-gnueabihf-2、如果不是交叉编译则会在开发板上报错为格式出错$ arm-linux-gnueabi...
2021-02-02 22:02:17
372
1
原创 韦东山嵌入式入门笔记之——编程前的准备
一、连接开发板1、如图所示2、安装 USB 串口模块驱动打开设备管理器查看端口:让 Windows 自动安装,如果电脑没有显示出端口号,就需要手动安装驱动(用驱动精灵)。从驱动精灵官网下载一个驱动精灵,安装、运行、检测,会自动安装上串口驱动。二、连接终端MobaXterm打开串口1、打开 MobaXterm,点击左上角的“Session”,在弹出的界面选中“Serial”,如下图所示选择端口号(前面设备管理器显示的端口号 COM21)、波特率(Speed 115200)、流控(Flow Co
2021-02-01 13:46:18
592
1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(四)
第五章 Framebuffer应用编程Framebuffer是LCD设备的一种驱动程序5.1 LCD驱动原理1、
2021-02-01 10:21:32
431
1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(三)
了解Linux系统下的文件I/O接口是如何访问的。顶层应用层可以通过各种函数接口(如open、read、write)访问底层的普通文件,也可以访问驱动程序,进而访问底层硬件。
2021-01-31 16:40:08
305
1
原创 韦东山嵌入式入门笔记之——应用开发基础篇(二)
三、Makefile的使用1、为什么需要Makefile在编写程序后,如果仅改动了一个源文件(比如.h文件),那么不可能通过一系列的命令来重新编译所有的源文件,甚至有时改动的源文件比较多,出现最后忘记编译某些源文件的情况。而make工具可以解决上述问题,它会在有必要时重新编译所有受改动影响的源文件。而Makefile文件则告诉make怎样编译和连接成一个程序。Makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。Mak
2021-01-30 21:18:35
463
2
原创 GCC编译器的选项
1、总体选项(Overall Option)(1)-c预处理、编译和汇编源文件,但是不作链接,编译器根据源文件生成OBJ文件。缺省情况下,GCC通过用`.o'替换源文件名的后缀`.c',`.i',`.s'等,产生OBJ文件名。可以使用-o选项选择其他名字。GCC忽略-c选项后面任何无法识别的输入文件。(2)-S编译后即停止,不进行汇编。对于每个输入的非汇编语言文件,输出结果是汇编语言文件。缺省情况下,GCC通过用`.s'替换源文件名后缀`.c',`.i'等等,产生汇编文件名。可以使用-o选项
2021-01-27 16:43:03
2241
原创 韦东山嵌入式入门笔记之——应用开发基础篇(一)
一、交叉编译hello.c1、准备工作:①要在板上运行,还是安装使用NFS会比较方便②解压工具链、设置PATH环境变量、确定编译器名称;然后才可以编译2、gcc编译器只适合编译在Ubuntu上远行的程序3、不同am板上的编译器名称 不同,工具链位置也不同,不同版本的编译器前缀不一样(xxx-gcc等),需要去交叉编译目录中查看4、参考网络置指南。5、gcc编译器的头文件默认路径为/usr/include,arm编译器的头文件在交叉编泽器目录下的include目录中6、指定头文..
2021-01-27 11:23:41
514
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人