自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(374)
  • 资源 (3)
  • 收藏
  • 关注

原创 <===========所有笔记汇总目录===========>

一、芯片系列CC2640入门篇:搭建环境、编译烧写 运行流程 BLE协议栈及TI软件体系架构CC2640R2F入门篇:搭建环境、编译烧写外设篇:ADC GPIO输入及中断 GPIO输出 RTC实时时钟 SPI UART系统篇:软件定时器 系统延时 Watchdog SNV Flash蓝牙篇:GAP从机端广播 GAP从机端广播自定义数据 GAP主机端扫描 GAP主机端获取从机广播数据 GAP主机端连接 GATT服务端自定义服

2021-07-15 19:49:01 8979 15

原创 ESP32学习笔记(19)——SPI(主机)接口使用

一、SPI简介SPI(Serial Peripheral Interface) 协议是由摩托罗拉公司提出的通讯协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。芯片的管脚上只占用四根线。MISO: 主器件数据输出,从器件数据输入。MOSI:主器件数据输入,从器件数据输出。SCK: 时钟信号,由主设备控制发出。NSS(CS): 从设备选择信号,由主设备控制。当NSS为低电平则选中从器件。1.1 ESP32中

2021-05-26 17:41:21 43129 13

原创 ESP8266学习笔记(1)——搭建环境、编译烧写(NONOS SDK)

RTOS SDK环境搭建参看ESP8266学习笔记(17)——搭建环境、编译烧写(RTOS SDK)一、搭建环境1.1 ESP8266 SDK 入门指南官网下载:https://www.espressif.com/zh-hans/support/download/overview?keys=%E5%85%A5%E9%97%A8%E6%8C%87%E5%8D%97百度网盘:http...

2018-09-14 11:04:31 30300 7

原创 Matter学习笔记(3)——交互模型

交互模型层定义了客户端和服务器设备之间可以执行哪些交互。Matter 设备实现互联互通,主要是靠在上层定义了一套统一的 Data Model(数据模型), 在这套设备模型里面,设备内的逻辑功能单元是用 EndPoint 来表示的。每个 EndPoint 的功能有若干个 Culsters 来描述。通讯的过程是有本地的 EndPoint 和远端的 EndPoint 来交互完成的,这个交互过程称之为。

2023-12-03 22:21:04 552

原创 Matter学习笔记(2)——数据模型和设备类型

Matter 中的设备具有明确定义的,它是设备功能的分层建模。使用和事件(Event)的概念描述 Matter 节点支持的远程操作,并分组为称为集群的逻辑块。中包含的集群具有明确定义的范围和行为,以确保不同供应商开发的 Matter 节点之间的互操作性。集群可以是抽象的,这意味着它可以作为多种设备类型的基础,以减少向 Matter 引入新产品类别的时间和成本。此层次结构的顶层有设备(Device)。

2023-11-09 16:37:42 579

原创 Matter学习笔记(1)——基本概念和架构

(以前称为 Project Connected Home over IP 或 Project CHIP)是一个,向下屏蔽了设备制造商的生态和系统,旨在创建跨智能家居设备、移动应用程序和云服务的统一通信标准。它支持多种现有技术,包括以太网Wi-FiThread和低功耗蓝牙 (BLE),并使用TCP和UDP等基于IPv6的传输协议来确保不同类型网络之间的连接。Matter 由)实现,该 SDK 不仅包含规范的实现,还包含一套丰富的示例和互操作代码。核心 Matter 协议适用于。

2023-10-24 13:36:15 1148 2

原创 TuyaOS开发学习笔记(2)——NB-IoT开发SDK架构、运行流程

基于 TuyaOS 系统,可以裁剪得到的适用于 NB-IoT 协议产品接入的 SDK。SDK 将设备配网、上下行数据通信、产测授权、固件 OTA 升级等接口进行封装,并提供相关函数。

2023-09-09 23:48:00 1004 1

原创 TuyaOS开发学习笔记(1)——NB-IoT开发搭建环境、编译烧写(MT2625)

后,在跳出的文本框内输入编译固件的版本号(格式为 x.x.x)后,按回车键确认。其中需注意,蓝牙 Mesh 和 Beacon 相关应用版本格式为 x.x,其它应用版本格式为 x.x.x。,第一个参数“apps/xxx/”表示app所在的路径,“mt2625gl_xxx”表示app名称,第三个参数“1.0.0”表示版本号。提示错误要加mt2625gl_前缀,因为对于NM1-GL这个平台来说,必须带mt2625gl_这个前缀,否则编译会失败。并且在对应的开发环境下使用。如果路径选择不正确,会在右下角报错提示。

2023-09-02 13:20:02 663

原创 解决方法:Linux python3.10回退python3.8

在 Matter SDK 通过运行激活脚本开始构建环境部署时,出现百度说有可能是 python3.10 的 pip 有问题,于是需要回退到 python3.8 版本。

2023-08-23 16:23:19 1777 1

原创 ESP32学习笔记(52)——三轴加速度ADXL345使用(SPI方式)

ADXL345 是一款 ADI 公司推出的基于 iMEMS 技术的超低功耗3轴加速度计,分辨率高(13位),测量范围达 ±16g。数字输出数据为 16 位二进制补码格式,可通过SPI(3线或4线)或I2C数字接口访问。ADXL345 非常适合移动设备应用。它可以在倾斜检测应用中测量静态重力加速度,还可以测量运动或冲击导致的动态加速度。其高分辨率(3.9mg/LSB),能够测量不到 1.0° 的倾斜角度变化。该器件提供多种特殊检测功能。

2023-08-07 19:11:44 2985 4

原创 解决方法:python: not found问题

测试环境:Ubuntu22.04.1。

2023-07-05 23:35:15 2732 1

原创 NB-IoT学习笔记 —— NB-IoT介绍

是指窄带物联网(Narrow Band Internet of Things)技术,是一种低功耗广域(LPWA)网络技术标准,基于蜂窝技术,用于连接使用无线蜂窝网络的各种智能传感器和设备,聚焦于低功耗广覆盖(LPWA)物联网(IoT)市场,是一种可在全球范围内广泛应用的新兴技术。NB-IoT 技术可以理解为是 LTE 技术的“简化版”,NB-IoT 网络是基于现有 LTE 网络进行改造得来的。LTE 网络为“人”服务,为手机服务,为消费互联网服务;

2023-07-04 09:48:11 10273 7

原创 IMX6ULL学习笔记(22)——eLCDIF接口使用(TFT-LCD屏显示)

是 IMX6U 系列芯片内部自带一个增强型液晶接口外设。配合使用 DDR 作为显存,可直接控制液晶面板,无需额外增加液晶控制器芯片。IMX6U 的 eLCDIF 液晶控制器最高支持 1366x768 分辨率的屏幕;可支持多种颜色格式,包括 RGB888、RGB565、ARGB8888 等(其中的“A”是指透明像素)。还可配合像素渲染流水线 PXP(Pixel Pipeline)进行复杂的图像处理,如格式转换、缩放、翻转以及图层混合等操作,使 IMX6U 有非常出色的图形显示性能。

2023-04-15 18:29:17 1780 1

原创 IMX6ULL学习笔记(21)——MMDC接口使用(DDR3测试)

DDR 内存是 SDRAM 的升级版本,SDRAM 分为 SDR SDRAM、DDR SDRAM、DDR2 SDRAM、DDR3 SDRAM、DDR4 SDRAM。DDR 全称是 Double Data Rate SDRAM,也就是双倍速率 SDRAM,看名字就知道 DDR 的速率(数据传输速率)比 SDRAM 高 1 倍!

2023-03-31 16:55:50 1176

原创 解决方法:编译IMX6ULL裸机串口程序提示错误arm-none-eabi-ld: cannot find -lgcc: 没有那个文件或目录

Linaro 是一间由ARM发起,与其它ARM SOC公司共同投资的非盈利性质的开放源代码软件工程公司,Linaro 开发了很多软件,最著名的就是 Linaro GCC 编译工具链(编译器)。出现其他错误 undefined reference to `raise’因为arm-none-eabi-gcc的版本比较高,不支持以上指令。写于 2023 年 3 月 30 日。当前版本为10.3.1。

2023-03-31 00:02:20 818

原创 IMX6ULL学习笔记(20)——UART串口使用

在目录下添加官方SDK寄存器定义文件MCIMX6Y2.h,位于目录下。在官方SDK的头文件MCIMX6Y2.h文件多达4万多行,包含了i.MX6U芯片几乎所有的寄存器定义以及中断编号的定义。这里只列GPIO1相关寄存器的部分代码。其他寄存器定义与此类似。添加这些定义之后我们就可以直接使用语句操作GPIO1的DR寄存器。操作方法与STM32非常相似。

2023-03-29 18:09:08 2524 2

原创 IMX6ULL学习笔记(19)——时钟系统

在目录下添加官方SDK寄存器定义文件MCIMX6Y2.h,位于目录下。在官方SDK的头文件MCIMX6Y2.h文件多达4万多行,包含了i.MX6U芯片几乎所有的寄存器定义以及中断编号的定义。这里只列GPIO1相关寄存器的部分代码。其他寄存器定义与此类似。添加这些定义之后我们就可以直接使用语句操作GPIO1的DR寄存器。操作方法与STM32非常相似。

2023-03-28 16:55:08 1518

原创 解决方法:编译IMX6ULL裸机中断程序提示错误selected processor does not support `cpsid i‘ in ARM mode

Linaro 是一间由ARM发起,与其它ARM SOC公司共同投资的非盈利性质的开放源代码软件工程公司,Linaro 开发了很多软件,最著名的就是 Linaro GCC 编译工具链(编译器)。因为arm-none-eabi-gcc的版本比较高,不支持以上指令。写于 2023 年 3 月 19 日。当前版本为10.3.1。

2023-03-19 20:34:20 1695 1

原创 IMX6ULL学习笔记(18)——GPIO中断

一、中断简介相比 STM32 的 NVIC,IMX6ULL 的中断控制系统更复杂,它的中断管理器使用的是 GIC V2,GIC V2 的实现方式与我们熟知的 NVIC 差别较大。1.1 GICGIC(Generic Interrupt Controller),直译为通用中断控制器,它是 ARM 公司给 Cortex-A/R 内核提供的一个中断控制器,类似 Cortex-M 内核中的NVIC。目前共有 4 个版本 V1~V4,IMX6ULL 使用的是 GIC V2。GIC V2 是给 ARMv7-

2023-03-15 09:43:52 1331 1

原创 IMX6ULL学习笔记(17)——工程管理

之前我们把所有源码文件放在一个文件夹下。这样做存在两个主要问题,第一,代码存放混乱不易阅读。第二,程序可移植性差。如果工程源文件达到几十、甚至数百个的时候,这样一股脑全部放到根目录下就会使工程显得混乱不堪。所以我们必须对工程文件做管理,将不同功能的源码文件放到不同的目录中。另外我们也需要将源码文件中,所有完成同一个功能的代码提取出来放到一个单独的文件中,也就是对程序分功能管理。如何对一个工程进行整理,使其美观、功能模块清晰、易于阅读。

2023-02-21 17:31:31 1849

原创 STM32CubeMX学习笔记(51)——读写内部Flash

在STM32芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部 FLASH 中,由于 FLASH 存储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部 FLASH 中加载代码并运行。STM32 的内部 FLASH 包含主存储器、系统存储器以及选项字节区域,它们的地址分布及大小见下表。

2023-02-07 18:20:55 6117 3

原创 STM32F103学习笔记(11)——压力传感器GZP6859D使用

GZP6859D 型压力传感器采用 SOP6 封装形式,内部集成了高精度 ADC 芯片,对传感器芯片输出的偏移、灵敏度、温漂和非线性进行数字补偿,以供电电压为参考,产生一个经过校准、温度补偿后的标准数字信号。GZP6859D 型压力传感器尺寸小,方便客户安装。产品广泛用于医疗电子、汽车电子、运动健身器材等领域。

2023-01-30 18:00:38 3140 6

原创 STM32F103学习笔记(10)——I2C多路复用器TCA9548A使用

TCA9548A 器件配有八个可通过 I2C 总线控制的双向转换开关。串行时钟/串行数据 (SCL/SDA) 上行对可扩展为 8 个下行对或通道。根据可编程控制寄存器的内容,可或者通道组合。这些下游通道可用于解决 I2C 从器件地址冲突。例如,如果应用中需要八个完全相同的数字温度传感器,则每个通道 (0-7) 可以连接一个传感器。发生超时或其他不当操作时,系统主控器可通过将RESET 输入置为低电平来复位 TCA9548A。同样,加电复位即可取消选中所有通道并初始化 I2C/SMBus 状态机。

2023-01-14 14:15:29 7144 14

原创 STM32CubeMX学习笔记(50)——USB接口使用(DFU固件升级)

DFU全称为Download Firmware Update,是ST官方推出的一个通过USB接口进行IAP升级的方案,同串口ISP一样,他们都集成在了芯片内部的Bootloader区段,可以通过配置boot引脚来启动。(具体可参照ST文档:AN2606)。不过内置DFU的芯片大部分型号都比较新,如果你用的型号没有内置DFU程序,没关系我们也可以通过CubeMX来快速生成和移植一个DFU功能程序到你的Flash中来使用。

2022-12-30 18:19:53 6885 5

原创 IMX6ULL学习笔记(16)——GPIO输入接口使用(官方SDK方式)

在官方SDK的目录下, 头文件文件多达4万多行,包含了i.MX6U芯片几乎所有的寄存器定义以及中断编号的定义。这里只列GPIO1相关寄存器的部分代码。其他寄存器定义与此类似。添加这些定义之后我们就可以直接使用语句操作GPIO1的DR寄存器。操作方法与STM32非常相似。

2022-12-26 10:35:48 1919 1

原创 IMX6ULL学习笔记(15)——GPIO输出接口使用(官方SDK方式)

在官方SDK的目录下, 头文件文件多达4万多行,包含了i.MX6U芯片几乎所有的寄存器定义以及中断编号的定义。这里只列GPIO1相关寄存器的部分代码。其他寄存器定义与此类似。添加这些定义之后我们就可以直接使用语句操作GPIO1的DR寄存器。操作方法与STM32非常相似。

2022-12-25 20:16:12 1628

原创 IMX6ULL学习笔记(14)——GPIO接口使用(C语言方式)

i.MX6ULL 芯片的 GPIO 被分成 5 组,并且每组 GPIO 的数量不尽相同,例如 GPIO1 拥有 32 个引脚, GPIO2 拥有 22 个引脚, 其他 GPIO 分组的数量以及每个 GPIO 的功能请参考。通过 GPIO 硬件结构框图,就可以从整体上深入了解 GPIO 外设及它的各种应用模式。

2022-12-25 15:55:23 1756

原创 IMX6ULL学习笔记(13)——GPIO接口使用(汇编方式)

i.MX6ULL 芯片的 GPIO 被分成 5 组,并且每组 GPIO 的数量不尽相同,例如 GPIO1 拥有 32 个引脚, GPIO2 拥有 22 个引脚, 其他 GPIO 分组的数量以及每个 GPIO 的功能请参考。通过 GPIO 硬件结构框图,就可以从整体上深入了解 GPIO 外设及它的各种应用模式。

2022-12-12 17:22:42 1552

原创 STM32CubeMX学习笔记(49)——USB接口使用(MSC基于SD卡模拟U盘)

USB大容量存储设备类(The USB mass storage device class)是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。通过这个标准的计算机连接到的设备包括:移动硬盘、移动光驱、U盘、SD、TF等储存卡读卡器、数码相机、各种数字音频播放器和便携式媒体播放器、智能卡阅读器、掌上电脑和手机。

2022-11-30 12:02:47 3779 1

原创 STM32CubeMX学习笔记(48)——USB接口使用(MSC基于外部Flash模拟U盘)

USB大容量存储设备类(The USB mass storage device class)是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。通过这个标准的计算机连接到的设备包括:移动硬盘、移动光驱、U盘、SD、TF等储存卡读卡器、数码相机、各种数字音频播放器和便携式媒体播放器、智能卡阅读器、掌上电脑和手机。

2022-11-23 15:29:56 3485

原创 STM32CubeMX学习笔记(47)——USB接口使用(MSC基于内部Flash模拟U盘)

USB大容量存储设备类(The USB mass storage device class)是一种计算机和移动设备之间的传输协议,它允许一个通用串行总线(USB)设备来访问主机的计算设备,使两者之间进行文件传输。通过这个标准的计算机连接到的设备包括:移动硬盘、移动光驱、U盘、SD、TF等储存卡读卡器、数码相机、各种数字音频播放器和便携式媒体播放器、智能卡阅读器、掌上电脑和手机。

2022-11-16 18:07:41 3715 2

原创 STM32CubeMX学习笔记(46)——USB接口使用(HID自定义设备)

USB HID类是USB设备的一个标准设备类,包括的设备非常多。HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆等。但HID设备类不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。USB HID设备的一个好处就是操作系统自带了HID类的驱动程序,而用户无需去开发驱动程序,只要使用API系统调用即可完成通信。

2022-11-04 18:29:56 5489 3

原创 STM32CubeMX学习笔记(45)——USB接口使用(HID鼠标)

USB HID类是USB设备的一个标准设备类,包括的设备非常多。HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆等。但HID设备类不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。USB HID设备的一个好处就是操作系统自带了HID类的驱动程序,而用户无需去开发驱动程序,只要使用API系统调用即可完成通信。

2022-10-27 10:32:14 2815 1

原创 STM32CubeMX学习笔记(44)——USB接口使用(HID按键)

USB HID类是USB设备的一个标准设备类,包括的设备非常多。HID类设备定义它属于人机交互操作的设备,用于控制计算机操作的一些方面,如USB鼠标、USB键盘、USB游戏操纵杆等。但HID设备类不一定要有人机接口,只要符合HID类别规范的设备都是HID设备。USB HID设备的一个好处就是操作系统自带了HID类的驱动程序,而用户无需去开发驱动程序,只要使用API系统调用即可完成通信。

2022-10-26 16:10:12 7036 4

原创 IMX6ULL学习笔记(12)——通过SD卡启动官方SDK程序

首先 SD 卡插入读卡器,再把读卡器插入电脑。VMWare 有时候会自动弹出对话框,选择连接到虚拟机即可。如果没有对话框,可以通过菜单可移动设备找到 SD 卡,点击连接。使用lsblk命令查看当前磁盘设备。可看到新增加了sdb设备,此处请务必检查好sd卡所对应的磁盘设备,以免破坏其他磁盘的数据!

2022-10-25 10:30:44 1085 1

原创 IMX6ULL学习笔记(11)——获取和编译官方SDK

是 NXP 针对其官方评估板的软件开发包,可以在 NXP 的官网下载得到。SDK 中包含了固件库和各种程序范例。这个 SDK 包提供了 Windows 和 Linux 两种版本,分别针对主机系统是 Windows 和 Linux。

2022-10-24 09:56:01 2407

原创 IMX6ULL学习笔记(10)——通过TFTP烧录Linux内核

开发板与电脑接入到同一个局域网中,然后电脑提供TFTP服务,开发板通过TFTP与电脑连接共享文件。电脑生成的目标板应用程序放在TFTP的共享文件夹内,开发板访问该文件夹执行应用程序进行测试。连接好网络后在电脑和开发板之间进行互ping测试,以保证网络互通。在另一方面,电脑与开发板通过串口连接,使用串口终端控制开发板。(在arch/arm/boot下) 放到。写于 2022 年 10 月 23 日。设置IP地址、子网掩码和网关地址。设置IP地址、子网掩码和网关地址。上电快速按回车进入Uboot。

2022-10-23 19:54:29 1827

原创 STM32CubeMX学习笔记(43)——USB接口使用(CDC虚拟串口)

是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在 PC 领域的接口技术。USB 接口支持设备的即插即用和热插拔功能。USB 是在 1994 年底由英特尔、康柏、IBM、Microsoft 等多家公司联合提出的。USB 发展到现在已经有 USB1.0/1.1/2.0/3.0 等多个版本。目前用的最多的就是 USB1.1 和 USB2.0,USB3.0 目前已经开始普及。标准 USB 共四根线组成,除 VCC/GND 外,另外为 D+,D-;这两根数据线采用的是差分电压的方式进行数据传输的。

2022-10-19 11:21:42 14326 13

原创 C语言应用(3)——Base64编码/解码

Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种的方法。可查看RFC2045~RFC2049,上面有MIME的详细规范。Base64编码是从二进制到字符的过程,可用于在HTTP环境下传递较长的标识信息。采用Base64编码具有不可读性,需要解码后才能阅读。Base64由于以上优点被广泛应用于计算机的各个领域,然而由于输出内容中包括两个以上“符号类”字符(+, /, =),不同的应用场景又分别研制了Base64的各种“变种”。

2022-10-12 18:25:03 2521 1

原创 IMX6ULL学习笔记(9)——通过SD卡启动Linux内核

然后注意使用SD卡时开发板右下角的J2竖排针不要盖有跳帽需断开(此为WIFI模块供电,核心板只引出一路SDIO,SD卡和WIFI不能同时用)注意: -4.19.35-imx6 为版本后缀,可以更改为相应的版本后缀。拷贝到Windows上再拷贝到开发板上,否则Linux内核可能启动失败。根据以下BOOT拨码开关启动配置表,调整拨码开关为SD卡启动方式,通过拷贝到BOOT\kernel目录下。开发板插入烧录好U-Boot的SD卡。写于 2022 年 9 月 18 日。注意:不要通过TFTP方式将。

2022-09-18 17:43:22 2227

基于STM32的智能花盆

适用于毕设,使用STM32F103,采集土壤湿度、光照强度、温度、空气湿度,将数据通过USART3发到ESP8266,ESP8266用STA模式连接路由器将数据发到OneNET云服务器,LCD屏显示环境参数信息。

2021-05-08

基于STM32F103的远程仓储环境监测系统

适用于毕设,使用STM32F103开发板,采集温湿度,光照,空气质量,火焰,将数据通过USART3发到ESP8266,ESP8266用STA模式连接路由器将数据发到OneNET云服务器,手机APP用HTTP协议获取环境参数信息。

2018-05-31

STM32F407智能家居

人体红外,超声波距离检测,光照度,温湿度,烟雾传感器MQ-2

2018-04-15

空空如也

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

TA关注的人

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