FM225 C# 开发问题

发布于 2025-07-29 19:18:44

老师您好,我在使用 C# 开发与 FM 模组相关功能时,遇到了一些问题,想向您请教一下。

目前在进行人脸注册时遇到无法注册成功的问题。我已经尝试了以下三种注册方式,分别调用了三段不同的代码逻辑,但都无法正常完成注册操作。经过资料查阅,我认为使用 0x26 命令进行注册是最合适的方式,但实际测试中依然无法成功注册人脸信息。

烦请您帮忙看一下可能存在的问题,或是否有推荐的注册流程或调试思路可以参考,非常感谢!

//单方向录入,需多次调用
       public static byte[] BuildEnroll(string name)
       {
           byte[] nameBytes = Encoding.ASCII.GetBytes(name.PadRight(32, '\0'));
           byte[] data = new byte[35];
           data[0] = 0x00; 
           Array.Copy(nameBytes, 0, data, 1, 32);
           data[33] = 0x01; 
           data[34] = 10; 
           return Pack(0x13, data);
       }
       //一次交互式录入多个方向,推荐方式
       public static byte[] BuildEnrollItg(string name)
       {
           byte[] nameBytes = Encoding.ASCII.GetBytes(name.PadRight(32, '\0'));
           byte[] data = new byte[40];
           data[0] = 0x00; // admin
           Array.Copy(nameBytes, 0, data, 1, 32);
           data[33] = 0x01; // direction (正面)
           data[34] = 0x10; // enroll_type: 0x00=交互式
           data[35] = 0x00; // enable_duplicate = false
           data[36] = 10;   // timeout
           data[37] = data[38] = data[39] = 0; // reserved
           return Pack(0x26, data);
       }
       //单帧录入一次正脸
       public static byte[] BuildEnrollSingle(string name)
       {
           byte[] nameBytes = Encoding.ASCII.GetBytes(name.PadRight(32, '\0'));
           byte[] data = new byte[34];
           data[0] = 0x00; // admin = 0
           Array.Copy(nameBytes, 0, data, 1, 32);
           data[33] = 10; // timeout 10s
           return Pack(0x1D, data);
       }

查看更多

关注者
0
被浏览
28
1 个回答
西红柿CC
西红柿CC 3天前
这家伙很懒,什么也没写!

可以先在串口工具用指令尝试是否能够跑通,在串口工具跑通后再检查代码哪里是否有误。

撰写答案

请登录后再发布答案,点击登录

发布
问题

deepseek
客服

分享
好友

手机
浏览

扫码手机浏览