- 博客(19)
- 收藏
- 关注
原创 NXPimx6芯片前言
最近手头没有什么事情,想起来之前在学校的时候买了一块正点原子的开发板,这块开发板选用的是NXP imx系列里的MCIMX6Y2CVM08AB,这块板子准备用来学习Linux驱动的。因为后面种种原因这块板子一直闲置。 现在闲来无事,想着后面这块板子也用不上它了,但也不能让它浪费,就让它上电跑跑吧。先来第一步用它点个灯,在点灯之前还得搞清楚这个芯片有哪些东西这么一看这芯片资源还挺多的嘞。性能也不错。友情链接。
2024-10-28 15:32:16
709
原创 bm280
BME280支持I²C和SPI数字接口;它充当了这两个协议的从属服务器。I²C接口支持标准、快速和高速模式。SPI接口同时支持4线和3线配置中的SPI模式“00”(CPOL = CPHA =“0”)和模式“11”(CPOL = CPHA =“1”)。添加bme280.c,bme280.h,bme280_defs.h到工程。2.多字节写入(使用成对的寄存器地址和寄存器数据)4.多字节读取(使用自动递增的单个寄存器地址)修改接口文件common.c文件。官方修改示例(IIC)
2024-07-22 10:23:05
545
原创 ADN8810
ADN8810是高精度12位电流源低噪声长期稳定电流输出从0ma到300ma输出故障指示低漂移可编程最大电流24引脚,4mm × 4mm LFCSP 3线串行接口。
2024-06-07 09:20:08
492
2
原创 串口调试系统
在调试单片机程序时,一般我们通过仿真器进行调试,让程序一步一步的执行,或者通过打印的方式看关键的位置的参数对不对。这样调试对于不是很复杂的系统确实可以,但是当系统比较复杂时,不可能一步一步的看,效率太低了,需要不断修改程序,烧写,调试。 我们可以针对我们比较关心的地方,设置一些调试指令以及对应的函数,我们可以根据我们的需要通过指令去执行我们想要执行的功能模块,来在运行期间发现可能出现的问题。
2024-01-03 11:06:51
611
1
原创 Stm32F4标准库驱动Sht4温湿度传感器
湿度和温度数据将始终以以下方式传输:第一个值是温度信号(2 * 8位数据+ 8位CRC),第二个值是湿度信号(2 * 8位数据+ 8位CRC)。
2023-12-20 15:43:27
2256
3
原创 freeRtos源码分析之任务调度原理
在FreeRtos中任务切换的本质是函数调用,CPU在指定时间内执行不同的函数,从微观上看每个任务都是顺序执行的,但是CPU运算能力很强,可以在很短时间内完成指令的执行,从宏观上看每个任务相当与同时在执行。
2023-11-18 21:49:53
2106
1
原创 freeRtos源码分析之核心数据结构链表
使用Source Insight 打开freeRtos源码,在list.h文件中定义freeRtos中的基本数结构。如下图所示其中struct xMINI_LIST_ITEM是最小的链表元素,是一个双向链表的结构。struct xLIST_ITEM 和typedef struct xLIST是后面用于任务调度和处理的基本数据结构。至于其中每项的意思在后面会做解释。
2023-11-18 15:40:20
232
1
原创 freeRtos源码分析之移植
官方地址1.sourceforge官方地址里有各个版本的freeRtos2.freertos官方网站国内gitee 1.
2023-11-17 17:19:22
100
1
原创 IMX6ull裸机bsp_led小实验
linux环境下vscode + 交叉编译工具(主要生成目标环境下可运行的文件)+ cmake。Imx6ull Bsp_led灯小实验
2023-11-02 13:29:32
146
1
原创 常用Arm汇编指令
ARM汇编常用指令集,ARMv7架构是一个32位处理器架构。它也是一种加载/存储体系结构,这意味着数据处理指令只对通用寄存器中的值进行操作。只有加载和存储指令才能访问内存。通用寄存器也是32位的。在本书中,当我们提到一个字时,我们指的是32位。因此双字是64位宽,半字是16位宽。尽管ARMv7体系结构是32位体系结构,但单个处理器实现不一定对所有块和互连都具有32位宽度。例如,可以为指令获取或数据访问提供64位或更宽的路径。
2023-10-31 13:00:15
251
1
原创 ARMV7架构知识点记录
ARM会定期发布该架构的新版本。它们会添加新功能或对现有行为进行更改。此类更改几乎总是向后兼容的,这意味着在旧版本的体系结构上运行的用户代码将继续在新版本上正确运行。当然,为了利用新特性而编写的代码无法在缺乏这些特性的旧处理器上运行。在体系结构的所有版本中,一些系统特性和行为都是由实现定义的。例如,体系结构没有定义各个指令的缓存大小或循环时间。这些是由个别的核心和SoC决定的。每个架构版本还可以定义可选的扩展。这些可能在处理器的特定实现中实现。
2023-10-31 12:53:05
3124
1
原创 STM32程序升级设计
了解到Stm32如何启动的。了解到Stm32如何分配空间并实现程序跳转。后续可以为bootloader添加网络接收和串口接收以及其他接收功能,完成一个可以使用多种升级方式的bootloader程序。个人觉得学编程最主要的是了解其原理,代码只是实现的工具,编程思想才是学习的要点。
2023-10-15 16:40:55
247
1
原创 CAN总线知识点总结
CAN 是 Controller Area Network 的缩写即控制局域网,是 ISO*1 国际标准化的。 最初CAN用于汽车产业中,由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个 LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的 CAN 通信协议。此后,CAN 通过 ISO11898 及 ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。
2023-10-10 17:10:28
452
1
原创 SPI协议
SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。SPI标准是4线制的总线规范。4条线分别是SDO/MOSI,SDI/MISO,SCK,CS/SS。 ;
2023-07-03 20:22:33
400
1
原创 ModBus协议部分功能码设计与实现方法(QT环境)
QT环境下实现ModbusRTU以及ModBusTCP。支持功能码:0x01、0x03、0x0f、0x10
2023-06-25 20:44:23
4696
4
原创 modbus相关知识点总结
Modbus是一种串行通信协议,是Modicon公司(现在的施耐德电气 Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus已经成为工业领域通信协议的业界标准(De facto),并且现在是工业电子设备之间常用的连接方式。 Modbus协议是一个master/slave架构的协议。有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点。每一个slave设备都有一个唯一的地址。
2023-06-25 19:31:37
307
HAL库STM32F103C8T6 IAP升级实验程序
2023-10-15
QT环境下实现ModbusRTU以及ModBusTCP 支持功能码:0x01、0x03、0x0f、0x10
2023-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人