- 博客(46)
- 资源 (8)
- 问答 (3)
- 收藏
- 关注
原创 PLX 9x5x PCI 驱动程序执行流程详解(Qoder生成)
这是一个基于 Windows WDF(Windows Driver Framework)的 PLX PCI9656RDK-Lite 参考适配器驱动程序。主要功能是通过 PCI 接口进行 Scatter/Gather DMA 操作,支持读写操作和中断处理。初始化阶段: 映射硬件资源、创建 WDF 对象、配置中断和 DMA读写操作: 构建 Scatter/Gather DTE 列表,配置硬件寄存器启动 DMA中断处理: ISR 快速识别中断并队列 DPC,DPC 处理完成事务并完成请求电源管理。
2026-01-17 12:37:19
401
原创 win7驱动开发环境搭建
我们需要的VS版本是2017,WDK 17763.1,SDK 17763.1,必须这三个配合才能编译windows 7的驱动,当然也可以有其他配合,我并没有使用。其它版本虽然下载的文件也叫winsdksetup和wdksetup,但是他们都是对应不同版本的sdk和wdk,只有同一个版本的sdk和wdk才能配合工作。先安装sdk,建议选中Download后进入目录安装,这样就不需要每次下载都安装一遍。WDK也一样建议先下载再安装,即使安装过VS2017,安装过程中也会有这个提示,不用管,继续装。
2026-01-17 12:18:28
121
原创 DriverStudio PCI-9054 升级驱动详细解决方案(Qoder生成)
北京中泰联创的一款数据采集卡驱动,由于64位兼容性问题,需要升级成最新框架的驱动,而且还要支持windows7操作系统,让Qoder给出一个解决方案,里面还是有些错误,比如windows7必须要用VS2019或者VS2017搭配固定的WDK版本才能支持,并不能使用VS2022。但是作为参考,还是能节省一些时间。
2026-01-16 16:52:23
262
原创 UBI镜像文件打包与编辑
rootfs.ubi 是基于 UBI(Unsorted Block Images)的镜像文件,可以将嵌入式文件系统打包成这个文件,方便储存与管理。进行完上面的操作后,rootfs目录下就是之前打包的文件了,可以直接操作这个目录,然后再按照最开始的方式打包即可。先将rootfs.ubi文件复制到工作目录下,然后用mkdir建立rootfs目录和temp目录。接下来的操作都需要在root模式下进行。
2026-01-16 16:19:41
93
原创 PCI9656驱动移植PCI9054 适配指南
本指南说明如何将zt9054\sys目录中的 PLX9656 驱动代码适配为 PCI9054 驱动。两款芯片都是 PLX 的 PCI 接口芯片,但在设备 ID、寄存器定义和硬件特性上存在差异。模式:全局替换PCI9656_→PCI9054_# 在 sed 中执行(或在编辑器中全局替换) sed -i 's/PCI9656_/PCI9054_/g' Reg9054.h受影响的宏→→→→。
2026-01-15 10:56:54
821
原创 PCI9x5x驱动移植支持PCI9054在win7下使用1
PCI9656与PCI9054在基地址、中断以及DMA操作方面的定义完全一样,只有其它一些没用到的功能定义不同,所以稍加改动就可以使用示例程序中的寄存器头文件。
2026-01-15 10:48:45
1254
原创 使用Qoder编写ztdaq的C#跨平台示例总结
CSTest2是一个基于C# .NET 8.0和Avalonia UI框架开发的数据采集演示程序,主要用于与工业采集卡设备进行通信,实现AD(模数转换)数据的实时采集和波形显示功能。该程序提供了设备连接、数据采集、波形可视化等核心功能。
2025-11-25 12:58:51
1079
原创 STM32F103ZET6 + W5500编程遇到的问题与解决过程
W5500是韩国公司WIZNET出品的爆款网络芯片,它集成了TCP/IP协议栈和以太网PHY接口,能让不具备网络功能的单片机通过 SPI 接口便捷地实现上网功能,目前国内兼容的芯片有沁恒公司的CH394。我最近开发的一款数据采集卡产品就是使用STM32F103ZET6+W5500实现了网络功能,网络部分代码由野火开发板配套提供,而野火的代码也是在官方代码基础上修改而来。使用配套代码很容易就实现了我的应用,但是在稳定性测试中也发现了一些问题,下面就是遇到的问题以及解决办法。
2025-11-25 10:18:04
341
原创 Qoder使用Java语言操作数据采集卡
🎉 完成的功能修改✅ 新增功能:界面布局调整:设备路径文本框单独占用一行控制按钮和状态信息在第二行更清晰的界面组织文件选择功能:添加"选择配置文件"按钮弹出文件选择对话框仅显示 .ini 文件选择后自动填充完整路径到文本框设备信息处理:使用选择的配置文件路径作为 deviceInfo直接传递给 ZTDaq_Create 函数📝 界面变化:修改前:plaintext。
2025-11-20 19:20:26
1311
原创 Qoder操作数据采集卡入门简介
如果是VSCode用户,在运行Qoder后,将会提示导入VSCode的设置,这个按照提示直接导入即可,在VSCode里面安装的所有插件也都会安装在Qoder中。成功安装后运行程序,如下图界面所示:使用打开-打开文件夹菜单,选择ZTDaqDll目录打开,成功后如下图所示:在上图中,智能体的选择,就表示接下来的对话可以直接生成文件,可以把他当作一个程序员,当然具体能否实现你的意图,还得看命令下达的是否合适。
2025-11-20 16:23:19
2253
原创 2025.10.21 TI高精度实验室线下研讨会随记
数据转换主题会场由德州仪器本部的高精度ADC专家李工和DAC专家刘工负责讲解,上午讲解了非常基础的知识,从什么是数据转换器讲起,然后详细介绍了ADC和DAC的重要参数,这些都是我平常工作中经常会用到的,权当复习巩固。ADC则讲解了各种噪声源以及它们对系统误差的影响。不过这也给我启示——在模拟领域很多问题都不是简单的一条原则就能概括,有的时候模拟地和数字地要分割,有的时候整个铺成一块地反而能起到更好的抗干扰作用,具体情况具体分析,实践出真知;也有其他与会人员建议担心空间干扰,直接放进屏蔽箱试试。
2025-11-19 14:12:51
250
原创 使用Qoder编写ztdaq的C#跨平台示例1
我已经成功创建了一个基于Avalonia框架的C#跨平台AD数据采集测试程序,位于[CS_Demo/CSTest2](file:///D:/mypro/work/products/software/ZTDaq/ZTDaqDll/CS_Demo/CSTest2)目录下。我已经成功创建并编译了一个基于Avalonia框架的C#跨平台AD数据采集测试程序,位于目录下。我在 [CSTest2.csproj]中添加了以下配置:</这个设置禁用了自动追加目标框架到输出路径的行为,结合之前的✅可执行文件位置✅。
2025-11-18 12:27:24
378
原创 豆包关于C# Avalonia可视化界面编辑的问答记录
目前 Visual Studio 中的 Avalonia 可视化编辑器确实以“预览”为主,完整编辑功能尚未完全实现。若需可视化拖拽编辑,推荐暂时使用 Rider;若坚持使用 Visual Studio,可结合实时预览手动编写 XAML,效率也能得到保障。随着框架迭代,后续功能会逐步完善。
2025-11-17 17:38:20
877
原创 TI 嵌入式技术研讨会心得:边缘AI赋能数据采集卡的创新突破
更重要的是,NPU的集成还能减少系统对外部传感器的依赖,通过AI算法对现有数据的深度挖掘,替代部分物理传感器的功能,从而简化系统架构,提升设备可靠性,这一技术突破给嵌入式应用带来了革命性变化。此次TI嵌入式技术研讨会,不仅让我全面了解了边缘AI在嵌入式体统中的应用,更找到了数据采集卡产品升级的核心方向。长期以来,数据采集卡的应用场景相对单一,主要用于数据记录和基础监测,若要拓展到复杂的状态监测、故障诊断等领域,必须与多种外部传感器配合使用,这不仅增加了用户的使用成本,也限制了产品的市场竞争力。
2025-11-17 17:07:47
1767
原创 C#桌面框架与Qt对比及选型(国产操作系统开发视角)
综上所述:若开发轻量桌面程序(如企业 OA),且团队熟悉 C#,Avalonia是平衡效率与成本的选择,但需接受专业桌面控件不足、性能上限较低的局限;MAUI仅建议在已有技术栈且无复杂桌面需求时使用,避免额外适配成本;若开发工业控制、复杂政务、医疗影像等核心桌面程序,Qt是更可靠的选择——其桌面控件生态完整、性能稳定、部署维护便捷,且官方提供桌面专属服务,可保障程序安全落地;
2025-11-11 14:03:10
950
2
原创 C# 桌面框架与 Qt 对比分析
本文围绕 C# 生态主流桌面框架(MAUI、Avalonia、WinUI 3)与 Qt(C++ 跨平台框架)展开对比,从开发效率、跨平台能力、界面生态等核心维度分析差异,为不同场景下的框架选择提供参考。适用人群为桌面应用开发者、技术选型负责人,尤其适合关注 .NET 与 C++ 技术栈决策的团队。若团队擅长 C#,且项目为常规桌面应用(非嵌入式、非超高性能需求),优先选择 Avalonia(跨平台)或 WinUI 3(仅 Windows),开发效率和易用性更优。
2025-11-11 11:25:50
754
原创 从0开始使用LabVIEW操作数据采集卡-错误显示、自动连接与检测设备连接是否成功
接下来我们将检测设备连接是否成功,这部分将会介绍while循环的使用,在While循环中调用子vi判断设备连接是否成功,界面上可以使用错误信息显示框来判断连接是否成功,每一秒连接一次,直到连接成功。在设备句柄连线从for循环的边框出去时,默认是生成自动索引隧道,它会将出去的连线按照循环次数自动生成数组,对于设备句柄连线,不需要生成数组,因此需要在上面右键点击,选择禁用索引。接下来我们将设置设备,在这部分将介绍条件结构,比较运算符,以及数组,枚举,下拉列表等控件。
2025-09-25 10:44:02
985
原创 从0开始使用LabVIEW操作数据采集卡-放置控件、添加子vi与添加连线
至此,我们完成了一个没什么用处的LabVIEW程序,在后续文章中将会不断添加代码,最终写出一个本文开头的数据采集卡采集程序。接着上面的文章继续操作,接下来要添加连线和错误显示控件,这些都是LabVIEW的基本操作。
2025-09-24 11:55:10
368
原创 接地电平转换器线上直播学习笔记
这次线上直播主要就是要推荐TI的TXG系列接地电平转换器件,它使用了新技术,在不用物理隔离的情况下,可以让信号跨越小于80V的接地平面通讯。它虽然没有物理隔离,但是可以隔离两个地平面之间的噪声,对于我这种模拟数字混合应用的用户会比较有用。但是也正由于没有物理隔离,所以它对本地电路并没有什么保护作用,在超压使用的情况下,还是会对隔离端电路造成不可逆损坏的。它的优势就是体积小,成本低,速度快;劣势就是保护性弱,另外还要考虑电源端的隔离。接下来就是本次直播的详细学习笔记。
2025-09-24 11:43:30
897
原创 ST AI芯片STM32N6培训记录
2025 年 9 月 16 日,我前往拓荒族众创空间参加 ST(意法半导体)组织的 AI 芯片培训。此前早有关注 ST 发布的 AI 芯片 STM32N6,为赶上 AI 发展浪潮,便第一时间报名了此次培训。当天我卡着时间到达现场,结果前排的好位置已全部坐满,看来下次参加类似活动得提前到场才行。尽管报名时已按页面提示安装了开发工具,但到现场后才发现,部分工具及示例程序仍需通过 U 盘复制获取。不清楚 ST 未提前提供下载链接的原因,现场仅靠几个 U 盘轮流传递复制,整体效率较低。
2025-09-23 09:17:53
987
原创 低功耗核心板对比
原来设计的网络采集模块,采用基于启杨A5D3核心板的方案。目前该核心板供货不稳定,因此需要寻找替代品。由于模块需嵌入盒内使用,功耗不能过大(否则发热量无法承受),尺寸也需尽量小巧。截至2025年9月,除启杨外,还选取了市场上常见的野火、正点、飞凌共四家品牌的产品进行对比,价格与参数均来源于淘宝平台。先说结论:从低功耗需求来看,基本只有搭载i.MX6UL芯片的核心板能够满足;
2025-09-22 13:27:42
1163
原创 从0开始使用LabVIEW操作数据采集卡-概述和新建新建项目
由于LabVIEW强大的可视化和分析功能,其在数据采集卡行业有着广泛的应用,本文以北京中泰联创科技有限公司的EM9316BD-16为例来说明如何使用LabVIEW编写一个能够显示16通道模拟数据的程序。本文的阅读对象是不懂LabVIEW编程,但想要使用数据采集卡采集传感器输出信号的专业人士或者是想学习使用LabVIEW编程的技术人员。
2025-09-22 08:04:05
2756
原创 windows11 24H2 连接不上共享打印机问题解决
这个设置的目的主要是为了增加驱动安全性,禁止加载不符合要求的驱动,但是这会导致部分老的打印机驱动无法加载,从而造成打印机无法连接的问题,关掉它,问题解决。
2025-03-23 19:01:31
5970
原创 从0开始使用Labview操作数据采集卡1
由于LabVIEW强大的可视化和分析功能,在数据采集卡行业有着广泛的应用,本文以中泰联创的EM24B4A256K为例来说明如何使用LabVIEW编写一个能够显示4通道模拟数据的程序。本文的对象是不懂LabVIEW编程,但是想要使用数据采集卡采集传感器输出信号的专业人士或者是想学习使用LabVIEW编程的技术人员。我公司为EM24B4A256K提供了ztdaq动态库,LabVIEW可以调用动态库来操作采集卡,
2025-03-08 11:36:48
3120
原创 EM9636数据上传百度云
如果想让EM9636数据上传至百度云,需要使用到百度云的物联网核心套件功能。下面简要介绍一下创建设备的过程,详细信息可以参考下面的连接:
2022-12-21 11:20:22
1047
原创 VC对话框调整位置并且保存、恢复;非模式窗体不在任务栏单独显示
有一些数据采集卡功能比较多,有AD采集,DA输出,开关量输入,开关量输入,计数器采集等等功能,如果能够放到一个对话框中,同时显示输入量,设置输出量是最理想的情况了,但是在通道数比较多的情况下,一个对话框往往盛不下那么多的功能,此时就需要将不同的功能分配到不同的对话框中,如果想要同时显示多个对话框,在不同分辨率的显示器上就会有不同的排列方式,此时如果能够让程序记住对话框的位置,每一次打开程序的时候就可以按照相同的方式来显示,这样程序在不同的地方运行时,只要摆放一次就可以了。...
2022-08-10 19:15:44
639
原创 QT在循环中更新界面
最近有一个项目需要将采集结果显示在一个表格中,但是每个数据都需要一定的时间才能够得到,如果等全部数据都得到后再填充表格,会有很长一段时间处于假死状态,为了改善用户体验,要得到一个数据就填充一个表格,查资料后使用QEventLoop类和QCoreApplication::processEvents()函数实现了功能,并且可以随时中断表格的填充,类和函数说明请按F1具体代码如下:......
2022-07-12 22:32:04
1301
原创 MFC串口编程点滴以及加锁保护数据
客户用VC编程,串口操作485设备,需求很简单,发一条指令下去,然后接受设备返回的数据,解析后显示到界面上,他使用VC定时器来发送指令,定时50ms,想着20次发送一次指令,这样数据就可以1S更新一次数据了,结果完全不是他想象的那样1S发送一次,经常几秒甚至几十秒才能够发送一次,我看了他的代码,在定时器时间里面做了很多的工作。我判断他在定时器里面的操作远远不止50ms,所以决定帮他修改一下串口部分的代码,单独建立一个线程来发送与接收数据。大体思路就是打开串口,设置好参数后建立一个线程,在里面使用ReadFi
2022-07-12 16:36:22
635
原创 linux下一些操作技巧-root登陆;安装SSH;安装samba等等
我使用linux,主要是编写驱动,测试程序,这里记录一些常用的操作方法,注意有一些操作会带来安全问题,所以请勿在主要工作机器上尝试。ubuntu下安装SSH并且设置为root方式登陆如果显示内容包括了sshd,则说明已经安装成功并且运行起来了。设置成root登陆方式:找到 #Authentication,将 PermitRootLogin 参数修改为 yes。注意PermitRootLogin 参数可能被注释掉了,请去掉首行的注释符号(#)。我的机器最终结果如下所示:SecureCRT设置显示中
2022-07-04 13:46:46
713
原创 MFC曲线控件ChartCtrl简单上手教程
在数据采集中,有的时候需要将采集数据以曲线的方式显示出来,MFC并没有提供容易使用的曲线显示控件,好在有好心人写了ChartCtrl控件,可以很方便的绘制曲线。其代码公开在CodeProject网站:https://www.codeproject.com/Articles/14075/High-speed-Charting-Control由于年代比较久远,使用VC2017的时候会有些警告,但是都不影响使用。接下来我会使用一个示例来说明控件的使用方法,同时也为我自己以后使用的时候能够快速回忆起用法。老版
2022-06-25 18:15:26
7578
1
原创 微软EV签名升级过程
有些日子没有给驱动程序签名了,今天进入仪表盘,出现了如下提示:ATTENTION: We recently made changes to signature validation on all Partner Center for Windows Hardware submissions. You must take action before you can create new submissions, or publications. https://aka.ms/cert_revalidatio
2022-06-23 10:25:57
445
原创 关于64位windows驱动使用测试证书安装的设置方法
网上往往只提到了打开测试证书的步骤:bcdedit /set TESTSIGNING ON这里需要注意的是命令行窗口是要运行在管理员模式下的,否则会提示:无法打开启动配置数据存储拒绝访问。另外还要将测试证书安装在受信任的颁发机构上测试证书是在工程输出目录下,以cer为结尾的文件,在目标机上右键单击文件,选择安装证书->将所有证书都放入下列存储->浏览->受信任的根证书颁发机构,然后根据提示下一步直到完成即可。做完上述操作后,一定要重新启动计算机才能够生效。下面说一下使用管理员方式运行命令行窗
2022-06-21 10:06:42
960
转载 在VC和QT中实现可变参数的打印语句
在VC中,我们经常需要打印一些信息来判断程序是否正确执行,使用MFC时,在调试状态下,可以使用TRACE在调试器的输出窗口中显示信息,但是不使用MFC或者脱离IDE编程环境的时候,调试信息需要显示在文本框中时,没有很方便的函数直接将调试信息输出,此时需要自己写一个函数来方便输出,有两种方法,一种是存粹使用C语言的方式,一种是接用MFC的CString类,代码如下所示:下面的代码是使用C语言方式,不借助MFC将调试信息输出到IDE的调试窗口中下面代码是使用MFC中的CString类,将调试信息输出到文本控件
2022-06-19 20:56:03
915
原创 windows10安装Altera下载电缆方法
某些情况下,安装完Quartus II后,下载电缆驱动没有能够安装上,有可能是Quartus II的版本太低导致不支持win10,此时需要手动安装,具体步骤如下:首先插好USB Blaster下载电缆,使用“windows窗口键+R”,调出运行窗口,输入devmgmt.msc如下图所示,点击确定按钮:此时会打开设备管理器,可以看到USB-Blaster上面有一个叹号,说明驱动未安装,点击右键,选择更新驱动程序,如下图所示:然后选择浏览我的电脑以查找驱动程序:选择浏览按钮,选择驱动程序位置:单击下一页
2022-06-15 10:48:56
647
原创 C语言判断文件夹是否存在,不存在则创建
windows下需要包含头文件需要用到access函数判断文件夹是否存在,mkdir创建文件夹,示例代码如下:_access函数原型如下:int _access(const char *path,int mode);其中mode含义如下:0,检查文件或者文件夹是否存在2,检查文件或者文件夹是否只写4,检查文件或者文件夹是否只读6,检查文件或者文件夹是否可读写这个函数主要作用是用来判断文件或者文件夹读写属性的,它没有区分文件和文件夹的功能,因此使用它来判断文件夹是否存在并不合...
2022-06-13 18:20:06
4468
原创 使用QT编写MODBUS-TCP服务器与客户端程序
这个系列文章的主要目的还是要记录我熟悉QT编程的一个过程,同时也可以让其他开始使用QT编程的人有一个参考,少走些弯路。基于以上目的,我就从我所擅长的工业数据采集入手,用QT编写一个和数据采集有关的程序。在工业数据采集领域,MODBUS是一种应用广泛的总线协议,非常适合应用在低速采集的领域,早期的MODBUS协议只支持串口,后来发展出基于以太网口的MODBUS-TCP协议,我最终要用QT实现的,就是一个MODBUS-TCP服务器,以及与之通讯的MODBUS-TCP客户端。协议相关资料请看MODBUS-TCP
2022-06-13 16:20:42
8250
2
转载 使用dd命令备份数据等操作(包括整盘复制)
dd 的主要选项:指定数字的地方若以下列字符结尾乘以相应的数字:b=512, c=1, k=1024, w=2, xm=number mif=file #输入文件名,缺省为标准输入。of=file #输出文件名,缺省为标准输出。ibs=bytes #一次读入 bytes 个字节(即一个块大小为 bytes 个字节)。obs=bytes #一次写 bytes 个字节(即一个块大小为 bytes 个字节)。bs=bytes #同时设置读写块的大小为 bytes ,可代替 ibs 和 obs 。cbs=
2022-06-06 16:08:04
3462
原创 ubuntu1604安装远程桌面与配置QT记录
参考这个连接:Windows 远程桌面连接Ubuntu操作以及各种问题解决结果执行到这一步的时候死活装不上:sudo apt-get install xubuntu-desktop报告一大堆错误,都是Failed to fetch ……相关的结果刚开始搜索出来的都说是需要修改DNS成8.8.8.8之类的方法。修改后仍然不行后来想到可能是安装源的问题,后来把安装源参考这个链接,改成了阿里云的:ubuntu 16.04 LTS source.list阿里云ubuntu1604安装源注意修改完/
2022-06-06 13:31:12
606
从0开始使用LabVIEW操作数据采集卡的配套示例程序-AD定时采集
2025-09-22
数据采集卡通过MQTT上传数据到百度云
2022-12-21
MFC高速二维曲线控件示例程序,VC2017编译通过
2022-06-25
QT多线程TCP服务器客户端通讯程序
2022-06-05
QT编写的TCP服务端和客户端传输文件的源程序
2022-06-02
msvc1.52(微软最后的16位编译器)
2009-08-03
J-link4.08 可以支持山寨
2018-02-13
如何在VS Code 的C#项目中添加上一层目录的文件
2024-08-11
如何使用QTableWidget实现手动输入触发信号,程序设置不触发信号
2022-06-13
QT无法在samba目录新建工程或者给工程添加文件,有何解决办法?
2022-05-07
请问在open函数中如何获得驱动私有数据指针?
2022-04-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅