单片机端C/C++编程
有ESP8266,ESP32,STM32F0,STM32F1,STM32F4,STM32H7等系列单片机编程经验
linux端C/C++编程
PC端的C/C++编程,有多个从零开始搭建的十万行级工程经验
PC端C#编程,一般千行级的小工程居多
用matlab和simulink仿真经验
有SystemView工具实时性分析经验
有简易HTML开发经验
有运动控制算法开发经验
编写了一个基本类型库,用于替换Qt库,由于司法风险,要求把正在开发的基于Qt的工程将Qt换掉.于是用C++库写了基本类型库,GUI的部分则替换成了wxWidgets,保持工程整体框架没有大的改动,成功将底层进行了替换.
先用Qt实现了HMI软件(人机交互界面),后面用上述方法对底层进行了替换,实现可以像VS编辑界面时一样,任意拖拽模块,支持缩放,通过简单配置可以使得控件和底层关联起来.比如HMI上面配置了一个按键,点击一个按键,就可以通过Modbus/共享内存/自定义协议等方式让一个设备执行一项操作
搭建了一个机器人的IDE基本框架,让近10人的团队各自开发各自的插件,组合在一起运行.对机器人进行配置,调试,仿真于一体的大型工程.我负责搭建底层框架,让各自的插件不会冲突,还能单独调试,且处于技术保密的原因每人只拥有自己负责插件的代码,在这种情况下还能正常调试自己负责的插件.由于插件更新速度太快,需要保持底层框架的兼容性.有很多工程外的小功能需要实现,例如工程自动升级到最新版本的功能,插件选择指定版本的功能等,这些功能需要云服务器的linux平台和电脑端C#平台和嵌入式linuxC++进行编程.
用单片机实现IMU(位置姿态传感模块)
烧录器(用于对IMU进行校准生成固件并进行脱机烧录功能)
GPS(GNSS,RTK)基站,能显示各种状态,能通过手机连接Wifi,查看并配置参数