CAN总线的滤波器设置就像给总线上的节点设置了一层过滤网,只有符合要求的CAN信息帧才可以通过,其余的一概滤除。
在验收滤波器的帮助下,只有当接收信息中的识别位和验收滤波器预定义的值相等时,CAN 控制器才允许将已接收信息存入RXFIFO。
验收滤波器由验收代码寄存器(ACRn)和验收屏蔽寄存器AMRn 定义,要接收的信息的位模式在验收代码寄存器中定义,相应的验收屏蔽寄存器允许定义某些位为“不影响”,即可为任意值。
CAN总线的滤波器设置就像给总线上的节点设置了一层过滤网,只有符合要求的CAN信息帧才可以通过,其余的一概滤除。
在验收滤波器的帮助下,只有当接收信息中的识别位和验收滤波器预定义的值相等时,CAN 控制器才允许将已接收信息存入RXFIFO。
验收滤波器由验收代码寄存器(ACRn)和验收屏蔽寄存器AMRn 定义,要接收的信息的位模式在验收代码寄存器中定义,相应的验收屏蔽寄存器允许定义某些位为“不影响”,即可为任意值。
网口PHY芯片对 TX 和 RX 信号有两种驱动方式:电压驱动和电流驱动。不同的驱动方式决定了 PHY 在与变压器连接的时候,变压器的中心抽头的接法。电流驱动型的 PHY,变压器的中心抽头接电源,电源大小即为 PHY 芯片的 UTP 端口电压;电压驱动型的 PHY,变压器的中心抽头接电容到地。
在不使用变压器的情况下将以太网收发器(PHY)电容耦合在一起是一种常见的做法,以减少BOM成本和PCB面积。
本文描述了10/100/1000以太网设备的电容耦合方法。
本人使用基于MT7628的开发板运行openwrt lede17.01系统,单独使用有线wan、无线路由wwan和4G功能时都很正常。但是当同时使用以上3种网络接口时,发现接口之间并不能动态切换,当拔掉网线时,即使wifi和4g都正常连接,但是路由器不能ping通外网。当wifi连接断了,也会影响剩余网络接口的通信。
嘿,小伙伴们!今天我们要来聊聊SQLite,一个超轻量级的嵌入式数据库,它不需要独立的服务器进程,也不需要安装任何东西,只需要将SQLite的DLL文件添加到项目中即可开始使用。SQLite非常适合用于小型应用程序,尤其是那些需要在客户端存储数据的应用程序。今天,我们就一起来看看如何在C#中使用SQLite吧!🌟
SQLite是一个跨平台的数据库,它可以运行在Windows、Linux、Mac OS X等多个操作系统上。它支持SQL语言标准,并且具有事务处理、触发器等功能。SQLite非常适合那些需要简单数据存储的应用程序,比如桌面应用、移动应用等。💡
在开始之前,我们需要准备以下内容:
1 | 安装SQLite:下载SQLite的预编译二进制文件,并将其添加到项目的引用中。 |
接下来,让我们一步步来看如何在C#中使用SQLite。🛠️
要对某种协议进行编解码操作,就必须知道协议的基本定义,首先我们来看一下 CJ/T188 的数据帧定义(协议定义),了解请求数据与响应数据的基本结构。
请求帧:
字节 | 值 | 描述 |
---|---|---|
0 | 0x68 | 数据帧开始标识。 |
1 | T | 表计类型代码,详细信息请参考 表计类型表 。 |
2-8 | A0-A6 | 表计地址,水表设备的具体地址,这里是 BCD 形式。 |
9 | CTR_01 | 协议控制码,例如 0x1 就是读表数据。 |
10 | 0x3 | 数据域长度。 |
11-12 | 0x1F,0x90 | 数据标识 DI0-DI1。 |
13 | 0x00 | 序列号,一般为 0x00,序列号也被作为整个数据域的长度。 |
14 | CS | 表示校验和数据,即 0-13 位置的所有字节的累加和。 |
15 | 0x16 | 数据帧的结束标识。 |
例如有以下请求帧数据(读取水表数据):
一、手动添加
ESP32 开发笔记(附1) VS Code 包含显示波浪线,H文件包含错误 fatal error: xxx.h: No such file or directory
二、编译器快速自动添加
1、删除Vscode文件里面自带配置的.vscode