13系列空调通讯协议,13系列空调通讯协议-无校验,13系列-通讯协议-蓝板(Modbus&283CRC可选),Canatal_protocol_for_series_5,M52MBS通讯协议,M-816通信协议,MS1553佳力图6&8系列通讯协议,MS1554佳力图9系列通讯协议,基站控制器用户指南,佳力图M-816通信协议,佳力图通讯协议-系列9,通讯协议整理说明
2025/6/17 9:02:40 1.88MB 佳力图 空调 协议
1
最近用android_serialport_api开发了一个串口通讯程序,在使用过程中发现android_serialport_api基本构架都有,不过还有不少的缺陷,缺陷之一是:读取串口信息是阻塞模式,在向串口发出命令后,如果没返回的话,串口将被阻塞这样,如果在没数据返回的情况,线程将不能安全退出。
缺陷之二是:没有停止位、奇偶校验位,停止位的设置。
缺陷之三是:如果退出串口通讯后,下位机可能会在此发送信息到端口,下次马上进入时,会有上次残留数据。
在通过网络查找,参考各位大能给的信息,重新修改了SerialPort.c,修改了打开串口参数,满足设置停止位、奇偶校验停止位功能。
修改了端口读取阻塞模式为非阻塞模式,增加一个清除端口数据函数。
同时已经编译过了,只要直接调用就行了。
在网上很多大神给的方案,方案多有,大都是源代码的修改,没有编译的。
用本案例的话,应该可以完美解决了读取串口的各种情况。
2025/6/16 20:34:35 7.66MB android_seri 非阻塞 清除串口数据
1
基于STM32单片机modbus通讯的智能花盆毕业设计源码;
应用ADC采集、自动控制、CRC校验等技术,采集光照、自动控制、modbus通讯。
2025/6/13 15:49:08 2.65MB STM32 modbus 智能花盆 单片机
1
1.软件启动后,会自动搜索可用的串口,可以显示详细的串口信息,由于兼容性原因某些电脑可能不会显示。
2.超高波特率接收,在硬件设别支持的情况下,可自定义波特率,点“自定义”即可输入您想要的波特率,不过需要在串口关闭的情况下,才能修改哦。
默认可选波特率为1200bps-1382400bps3.可以选择为“1、1.5、2”三种停止位.4.可以选择“5、6、7、8”四种数据长度5.可选奇,偶校验,或无校验6.支持串口随时插拔,对于某些硬件设别,由于驱动兼容性的原因可能不支持,实测CH340无问题,建议手动关闭串口
2025/6/9 20:40:43 4.28MB 串口驱动
1
注:此项目用IntelliJIDEA13.1.3编写,所用到的技术有springMVC注解,,jQuery,jQuery-Easyui,JSON,JS技术,Maven技术,Ajax无刷新登录,注册等等,Mybatis技术,还有导出Excel通用方法,通用类有需要的朋友可以下下来直接使用,以及RestFUL风格增删改查,以及前端各种校验等等。
由于此项目编译文件我已删除,下载完了重新编译即可,并且赋有详细注释,sql脚本。
编译文件有一百多兆,不便上传
2025/6/1 16:16:32 2.93MB jQuery 前端项目 Spring MVC
1
crc32源代码32位crc校验码生成程序源代码vc++测试通过http://hi.baidu.com/yanzi52351
2025/5/30 16:44:48 37KB crc32 源代码 32位crc校验码 生成
1
【DM365_NAND启动模式解析】DM365是一款由TexasInstruments(TI)生产的数字媒体处理器,常用于视频处理和嵌入式系统。
在DM365中,NAND闪存是一种常见的非易失性存储器,用于存储固件和操作系统。
NAND启动模式是指DM365在上电或复位后从NAND闪存中加载启动代码的过程。
此过程涉及一系列复杂的步骤,确保系统能够正确地从NAND中读取和执行固件。
**NAND启动流程**1.**初始化**:系统首先初始化RAM1的高2KB栈空间(0x7800-0x7fff),避免覆盖用于存储UBL块号的最后32个字节(0x7ffc-0x8000)。
2.**禁止中断**:所有中断(IRQ和FIQ)被禁用,以确保启动过程不被打断。
3.**设置DEEPSLEEPZ/GIO0**:这个外部引脚在NAND启动时必须处于高电平。
4.**读取NANDID**:读取NAND闪存的设备ID,获取设备特性,如页面大小、块大小等。
5.**初始化NAND区域**:根据NAND的参数设置控制器和寄存器。
6.**搜索UBL描述符**:RBL(ROMBootloader)在block1的page0开始搜索UBL(UserBootLoader)的描述符。
如果未找到正确的UBL,会依次检查接下来的24个块,以防遇到坏块。
7.**处理UBL描述符**:UBL描述符包含入口点地址、占用的NAND页数、起始块和起始页等信息,用于指导UBL的加载和执行。
8.**ECC错误检测和校正**:开启硬件ECC(ErrorCorrectionCode)检测,复制UBL到IRAM(InternalRAM)。
如果检测到4位ECC错误,通过ECC算法进行纠正。
如果多次失败,RBL会尝试下一个块,直到找到有效的UBL描述符,或者在搜索完24个块后转而从SD卡启动。
9.**启动UBL**:在UBL的入口点执行代码,将控制权交给UBL。
10.**安全启动模式**:根据配置,启动模式可能包括PLL旁通模式,不使用快速EMIF、DMA或I-Cache。
在其他模式下,这些功能可以被启用以提高性能。
**NANDUBLdescriptor格式**UBL描述符是一个包含关键信息的数据结构,用于指示如何加载和执行UBL。
它可能包含如下字段:-入口点地址:UBL执行的起点。
-UBL占用的NAND页数:指示UBL的大小,必须是连续的页。
-UBL的起始块和起始页:定义UBL在NAND中的位置。
-MAGICIDs:特定的标识符,用于识别不同的启动模式。
**NAND启动详细流程**1.初始化栈空间、禁止中断、设置DEEPSLEEPZ/GIO0。
2.读取NAND设备ID,初始化NAND控制器。
3.搜索UBL描述符,最多遍历24个块。
4.复制并校验UBL到IRAM,根据UBL描述符配置启动选项。
5.转交控制权给UBL执行。
NAND启动流程图和具体的ARMNANDROMBootloader实例进一步详细说明了这个过程。
此外,支持的NAND设备ID列表确保了对多种NAND闪存设备的兼容性。
DM365的NAND启动模式解析涉及了设备识别、错误检测、固件加载和执行等多个环节,确保了系统的稳定和可靠启动。
理解这一过程对于开发和调试基于DM365的嵌入式系统至关重要。
2025/5/20 16:04:21 249KB DM365
1
在本文中,我们将深入探讨DM365芯片的启动流程,特别是针对NAND和UART两种启动模式。
DM365是一款基于DaVinci技术的多媒体处理器,其启动机制涉及到多个组件,包括MMU、数据缓存和指令缓存,以及不同类型的BootLoader。
MMU(内存管理单元)在启动阶段必须关闭,这意味着在这个阶段,虚拟地址与物理地址是相同的,这简化了对内存的访问。
数据缓存和指令缓存则用于提高处理器对内存数据的存取速度,它们在启动过程中起到加速代码执行的作用。
DM365的启动模式可以通过设置BTSEL[2:0]跳线来选择。
当设置为001时,系统会从外部的NORFLASH启动;
其他设置则会从内部ROM启动,执行固化在ROM中的RBL(ROMBootLoader)。
RBL是一个不可擦除的BootLoader,负责加载用户定义的UBL(UserBootLoader)到内存特定地址执行。
UBL的大小有限,不能超过14K,因此无法直接包含完整的U-BOOT。
为了启动U-BOOT,我们需要一个小于14K的小型UBL,它位于NANDFlash的前5个block内。
启动流程如下:1.RBL运行,检查NANDFlash设备ID。
2.如果设备ID匹配,RBL查找UBL的描述信息。
3.RBL将UBL复制到ARM内部RAM,并进行ECC校验。
4.UBL加载后,可以进一步加载U-BOOT和操作系统。
对于NANDBOOT模式,RBL会尝试读取NANDFlash的设备ID,然后查找并加载UBL。
如果失败,会尝试其他启动模式,如MMC/SD。
对于UARTBOOT,RBL通过串口与主机程序交互,发送BOOTME信号并等待ACK,以完成UBL的传输。
在UARTBOOT过程中,串口设置和通信协议是关键,RBL与主机程序的交互确保了UBL的正确接收。
一旦UBL通过UART传输到DM365,后续的启动流程与NANDBOOT类似。
DM365的启动涉及多层BootLoader,每层都有特定的任务,从初始化硬件到加载操作系统。
理解这些启动机制对于开发和调试基于DM365的系统至关重要,尤其是在需要自定义启动流程或优化性能时。
同时,熟悉MMU、缓存的工作原理也是优化系统性能的关键。
2025/5/20 15:52:57 326KB
1
一个很好而小巧的串口调试助手,支持常用的300-115200bps波特率,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符(包括中文),可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。
2025/5/8 21:47:20 23KB 串口调试 SCTest
1
制作上传模板的时候,有几个字段是需要多选,但是普通的数据校验只能单选下拉,所以需要有个列展示多个选项可以指定具体某一列,其他类列不影响下拉值从其他sheet加载,方便维护修改有check框、能多选。
有多个多选下拉框具体信息可以查看博客:https://blog.csdn.net/monkeyhi/article/details/105990309
2025/5/7 1:50:44 52KB Excel 多选下拉 ListBox
1
共 449 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡