配送一个自己写的串口驱动程序用DMA接收数据接收完会产生一个空闲中断由此可判断接收完一个包的数据再配送一个我自己写的动态内存管理跟ESP8266的驱动在项目中测试460800的波特率30kb一秒的数据接收一包1024个字节每包需要应答15字节的情况下AT指令处理是使用多个缓冲级来处理模块发送过来的数据分别有模块应答缓冲级跟等待应答的缓冲级、被忽略的AT指令集的缓冲级(例如注册一个SENDOK\r\n则模块应答此条指令立刻清除缓冲级释放内存无需等待超时直接忽略)还有需要回调的缓冲级(则出现此指令调用回调函数)都是通过注册的方式来实现如果出现一包跟指令被分到一个包内AT处理函数一样可以搜索到AT指令使用strstr函数来实现函数的缓冲级都是指针不占用内存使用动态内存管理的方式有数据则创建内存放入数据作为一个缓冲级如果模块应答的数据在规定的时间内没有响应则删除此缓冲级函数前都有注释介绍下面介绍一些常用的函数:at_init初始化一些变量已经串口at_time_task使用定时器回调1毫秒回调一次用来计数超时的指令缓冲&等待超时的计数at_clear_all在模块开机的时候可能会有很多乱数据可以在初始化完毕后使用此函数清除所有缓冲级释放所有内存at_processing处理AT的应答超时的指令(做删除释放内存的动作),还有处理等待的AT指令此函数一定要不断循环处理可以加入到定时器目前我实验是在UCOS上的所以直接创建个任务来执行此函数当程序在等待某个AT指令的时候此函数会寻找接收的缓冲级是否有等待的AT指令at_cmd_cb_hand回调处理函数如果接收缓冲级出现某个已经注册的指令则回调注册时所填写的函数地址at_send_cmd发送一个AT指令可以用跟printf一样使用%d等等at_send_data发送数据的时候所使用需要填写长度at_cmd_ignore_register注册一个被忽略的AT指令带入参数*s(例如填写一个"SENDOK"则模块应答的此条指令直接被忽略释放内存被忽略之前会检查此缓冲级会不会带有别的AT指令需要回调的)at_cmd_ignore_cancel取消被忽略的指令则取消已经注册的被忽略的AT指令at_cmd_cb_registerAT指令的回调注册例如参数填写"+IPD",函数名a则出现+IPD的时候回调a函数a函数有类型在at.h文件里面有at_cmd_cb_cancel注销回调你懂得at_wait_cmd等待一个AT指令集或者超时则立刻返回等待途中会不断调用OS的延迟程序让系统能有时间去执行其他任务使用方法例如{at_send_cmd("AT+UART=%u,%u,%u,%u,%u\r\n",baudrate,databit,stopbit,parity,flow_control);return(esp_error)at_wait_cmd("\r\nOK\r\n",2000,NULL);}at_errorat_wait2_cmd(char*s,char*s2,u16timeout,u8*index)此函数是等待两个AT指令集如果出现一个则立刻返回返回值h文件有介绍AT_DONE则出现此条指令index参数则提取应答的缓冲首地址使用at_buf_get函数获取首地址使用完后要调用at_free_buf来清除并释放这个缓冲级at_buf_len_get查询此应答的缓冲级长度如果在index填写NULL则不需要缓冲级首地址直接清除释放缓冲级
1
MIL-STD-1553B总线快速入门教程,对1553B总线协议进行了系统讲解,包括1553B总线概述、1553B总线的网络拓扑结构、工作模式、传输方式、数据格式、1553B总线的网络搭建连接,以及1553B的选型开发等,是1553B初学者的必备资料。
目录1.1553B总线概述1.11553B总线历史背景1.21553B总线的应用1.31553B总线的优点1.41553B总线协议标准1.51553b相关资料下载2.1553B基础知识介绍2.11553B总线的网络拓扑结构2.21553B总线的工作模式2.2.1总线控制器(BC)2.2.2远程终端(RT)2.2.3总线监视器(BM)2.31553B总线的传输方式2.41553B总线的数据格式2.4.11553B字格式(命令字,数据字,状态字)2.4.21553B消息格式2.4.31553B消息间隔和响应时间2.51553B总线的连接方式2.5.11553B总线传输线性能要求2.5.21553B总线耦合方式2.5.31553B总线组网3.1553B相关产品介绍及应用3.11553B产品简介3.2ZHHK1553系列板卡功能介绍3.2.1ZHHK1553B-PCI系列3.2.2ZHHK1553B-USB系列3.2.3ZHHK1553B-CPCI/PXI系列3.2.4ZHHK1553B-PMC/PCIE/VME系列3.2.4ZHHK1553B-PC104(Plus)系列3.2.5ZHHK1553B-ETH系列3.2.7ZHHK1553B多功能卡系列3.2.8ZHHK1553B定制卡系列3.3ZHHK1553B系列应用程序介绍3.3.1总线控制器(BC)功能3.3.2远程终端(RT)功能3.3.3总线监视器(MT)功能3.4ZHHK1553B系列Windows下编程3.4.1驱动程序引用的结构3.4.2驱动程序函数接口说明3.4.3应用程序开发例程3.51553B综合航电仿真测试设备3.5.1航空多总线测试仪3.5.2航电飞参及告警模拟系统3.5.3便携1553B总线测试仪3.5.4综合惯导测量系统3.5.5基于1553B、CAN总线遥测地检系统3.5.6基于1553B、CAN总线装甲车辆仿真测试系统3.61553B连接器配件(连接器、耦合器、终端电阻、线缆等)
2025/9/28 22:44:20 4.22MB MIL-STD-1553B GJB289A-97 机载总线
1
React本机模板企业ReactNative模板应用程序展示-测试策略,全局状态管理,中间件支持,网络层,组件库集成,本地化,导航配置和持续集成。
数字产品策略师,开发人员和设计师的专家团队。
我们一直在寻找重视自己工作的人,所以快来加入我们吧。
建筑学模板体系结构的驱动目标是关注点分离。
即:表示组件与场景(又称“屏幕”)分开。
表示组件是与事物外观有关的小组件。
场景通常定义整个应用程序屏幕,并关注事物的工作方式:它们包含演示组件并将所有内容连接在一起。
如果您有兴趣,可以。
用于响应本机架构的原子设计原子设计进一步巩固了将屏幕分离为组件和场景(容器)的想法。
该设计主要关注代码的可复用性,这使我们能够将组件区分为原子,分子和有机体。
与化学物质的原子设计类似,各成分按其成分分开。
随着每个组件的复杂性增加,它们要求的上下文也越来越多,因为每个组件都经过测试,因此可
2025/9/28 16:24:16 499KB HTML
1
通过MATLAB编程实现四边简支平板分别在受到点激励、线激励和面激励下位移响应。
画出了位移幅值在垂直于板平面的三维图。
2025/9/26 22:58:24 4KB 简支板 受激振动 位移响应 MATLAB
1
pcwap蓝色响应式企业网站模板带后台数据
2025/9/23 12:46:50 3.07MB PHP手机版
1
标题中的"C#2010win8.1win10触控屏触摸屏按钮button点击范例byHank"表明这是一个关于C#编程语言的教程,具体是针对Windows8.1和Windows10操作系统上的触控屏应用开发。
作者Hank提供了关于如何处理触摸屏上按钮点击事件的示例代码。
这个项目可能包含一个或多个C#源文件,用于演示在触控环境中如何正确响应用户的触摸操作。
描述中提到,该示例已经在64位的Windows8.1系统上通过了测试,但未在Windows10上进行验证。
这意味着开发者或学习者需要注意,尽管此示例可能在Win8.1下运行良好,但在其他平台(如Win10)上可能存在兼容性问题,可能需要进一步的调整和测试。
此外,它明确指出使用的是C#2010版本,这是一款较旧的开发工具,可能不包含后来版本中的一些新特性或优化。
标签"win8.1"、"触控屏"、"触摸屏"和"button"进一步细化了这个项目的重点。
这表明示例将专注于如何在Windows8.1的触控环境下,通过编程实现对触摸屏按钮的点击事件处理。
这可能包括如何创建和配置按钮控件,以及如何编写事件处理程序来响应触摸输入。
至于压缩包中的"TouchDemoByHank"文件,这很可能是整个示例项目的根目录,包含了项目文件、源代码、资源文件等。
在解压后,用户可能需要使用VisualStudio2010或其他兼容的IDE打开项目文件,查看并运行示例代码。
在代码中,可能会发现特定的触摸事件处理方法,如`TouchDown`和`TouchUpInside`,以及如何将这些事件绑定到按钮控件。
学习这个示例,开发者可以了解到:1.C#中的事件处理机制,特别是与触摸事件相关的API。
2.如何在WindowsForms或WPF(WindowsPresentationFoundation)中创建和配置触摸屏按钮。
3.如何检测和处理触摸输入,包括单击和长按等不同类型的触摸事件。
4.如何确保代码在多平台上具有良好的兼容性和适应性,特别是在不同版本的Windows之间。
这个项目是一个很好的起点,对于那些想要了解如何在C#环境下开发触控应用的初学者来说尤其有用。
通过深入研究和理解这个示例,开发者可以掌握触控屏幕应用程序的基础,为进一步的开发工作打下坚实的基础。
2025/9/22 12:18:56 42KB win8.1 button
1
将应用Abaqus/explicit来评估承受爆炸载荷下的一块加筋方板的响应。
2025/9/21 13:07:57 5.94MB 爆炸载荷 abaqus
1
典型环节的时域响应典型系统的时域响应和稳定性分析离散型的稳定新分析等等自动控制原理实验报告
2025/9/19 13:38:46 1.09MB 自动控制原理
1
使用matlab仿真的一个buck降压斩波电路,将带有PI控制器的电路与无PI控制器的电路响应做对比。
其中PI控制器采用的是使用S函数编写的控制器,进行简单的修改就可以在仿真中实现专家PI控制等等,控制器的输入参数有Kp,Ki以及控制器输出的上下限定值。
因为控制器直接控制的是PWM的脉冲宽度,所以控制器的输出值限定在0到100之间。
MySource用来将要求的电压与电源的电压100v进行对比,从而输出相应脉冲宽度的PWM波形给IGBT。
2025/9/17 12:56:09 20KB matlab S函数
1
【ArcGIS教程:基于ArcGIS的水文爆管分析】在城市供水系统中,当管道发生爆裂时,快速定位并关闭上游阀门是至关重要的,以防止水资源的浪费和进一步的损失。
ArcGIS的几何网络分析功能为此提供了解决方案。
下面我们将详细探讨如何在ArcGIS中创建几何网络,进行爆管分析,并找出合适的应对策略。
**创建几何网络**是整个分析的基础。
这涉及到数据的准备,所有相关数据(如管道、阀门、水表等)需存储在Geodatabase的要素数据集中。
在本例中,数据包括Fittings(弯头)、Laterals(支线)、TreatmentPlant(自来水处理厂)、Valves(阀门)、WaterMains(水管中心线)和WaterMeters(水表)。
创建几何网络时,要为每个元素设置网络角色,如SimpleEdge(简单边线)、ComplexEdge(复杂边线)和SimpleJunction(简单交汇点),并根据实际需求设置网络连通规则,确保符合水流的流动逻辑。
**设置网络连通规则**是确保数据正确分析的关键步骤。
例如,设置边-交汇点规则,使得每个支线只能连接一个水表,而水表又分为Private和Commercial两类;
设置边-边规则,规定水管中心线和支线之间必须通过特定型号的弯头连接。
接下来,进行**爆管分析**。
设置水流流向,通过更改TreatmentPlant的AncillaryRole属性值为Source,指定水源方向。
使用UtilityNetworkAnalyst工具条的SetFlowDirection功能确定流向,通过DisplayArrows查看并确认流向。
**爆管位置分析**可以通过两种方法实现。
方法一是利用AddJunctionFlagTool添加不运作的水表,选择TraceUpstream,解决后直观判断应关闭的阀门。
这种方法适用于简单网络。
方法二是通过Analysis菜单的Option设置结果返回为选择集,再利用SelectByLocation根据选择集选取位于水管中心线上的阀门。
这种方法在复杂网络中更为高效。
ArcGIS的几何网络分析提供了强大的工具,能够帮助水文管理人员在紧急情况下迅速定位并关闭爆管的上游阀门,确保系统的稳定运行。
在实际操作中,应根据网络的复杂度选择合适的方法进行爆管分析,以提高效率和准确性。
通过熟练掌握这些技巧,可以大大提高城市供水系统的管理效能和应急响应能力。
2025/9/16 19:44:26 217KB ArcGIS教程
1
共 980 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡