职位描述
我们正在寻找一位不仅精通上层界面开发,同时具备底层硬件交互能力的C /QT软件工程师。您将负责数据采集卡相关上位机软件的完整开发流程,从驱动接口封装到用户界面实现,构建稳定、高效、易用的数据采集与控制解决方案。您的代码将直接连接高性能硬件与终端用户,是系统中不可或缺的关键桥梁。
一、岗位职责
1、上位机软件开发:
(1)基于C 与QT框架,设计、开发并维护数据采集卡的上位机应用软件;
(2)实现采集设备控制、参数配置、实时数据显示、数据存储与回放、报警提示等功能模块;
(3)提供直观的用户操作界面与丰富的数据可视化效果。
2、底层通信与驱动集成:
(1)与驱动工程师协作,封装并调用数据采集卡的SDK/API,建立稳定高效的软硬件通信机制;
(2)处理高速、实时的数据流,通过QT的信号槽、多线程等机制,实现数据的实时显示与处理,确保UI界面的流畅性。
3、架构设计与性能优化:
(1)设计合理的软件架构,清晰分离UI、业务逻辑和硬件控制层,保证代码的可维护性和可扩展性。
(2)优化数据流处理、界面渲染和内存使用,提升软件的响应速度和处理大数据量的能力,防止数据丢失和界面卡顿。
4、跨平台开发与部署:
(1)利用QT的跨平台特性,负责Windows和Linux平台下软件的编译、测试与发布。
(2)编写相关技术文档,包括设计文档、用户手册等。
5、协同工作与问题排查:
(1)与硬件、FPGA及测试团队紧密合作,参与系统联调,快速定位并解决软硬件结合层面的问题。
(2)响应并处理客户反馈的软件缺陷与功能需求,进行软件的持续迭代与优化。
二、任职资格要求
一、必要条件:
1. 学历与经验: 计算机、电子工程、自动化等相关专业本科及以上学历,具备2年以上C 开发经验,并有至少1年以上的QT项目开发经验。
2. 精通C 与QT:
(1)熟练掌握C 11/14/17标准,理解面向对象编程和设计模式。
(2)深入理解QT框架的核心机制(元对象系统、信号槽、内存管理),有丰富的QT Widgets或QML/Quick的实际开发经验。
3、熟悉多线程与异步编程,能运用QThread、QtConcurrent等实现线程间通信与数据同步,有实时数据处理经验;
4、硬件交互能力: 具备与硬件设备通过API/SDK进行通信的编程经验,了解串口、网络、PCIe等常见通信方式。
5、具备较强的问题排查与调试能力,熟练使用GDB、QT Creator或Visual Studio等开发调试工具。
三、优先考虑
有数据采集卡、测试测量仪器、工业控制或自动化领域上位机软件开发经验者优先。
熟悉QT的图形视图框架(Graphics View Framework)或自定义控件开发,有2D/3D数据可视化(如图表、波形显示)开发经验者优先。
具备Linux平台下的开发与部署经验,熟悉CMake/QMake构建工具。
有设计模式、软件架构经验,能够编写高质量、可测试的代码。
具备良好的团队沟通能力和责任心,对技术有热情。