zoukankan      html  css  js  c++  java
  • 基于RCT6的YX6100语音模块方案

    指令格式:

    $S ,VER ,LEN,CMD,FEEDBACK,DATA,CheckSum,$0

    $S起始,7E

    VER,版本,FF

    LEN,长度,从VER算到DATA

    FEEDBACK :0

    $0:结束 :EF

    校验和的算法(相加取反再加1)

    比如命令[7E FF 06 3F 00 00 00 FE BC EF]

    FF一直到 00 这6个数,相加得到0x0144,取反=0xFEBB ,最后再加1,得到0xFEBC

    Python代码

    data=[0xFF,0x06,0x3F,00,00,00,]
    sum=0;
    for i in data:
        sum+=i;
    sum=0xFFFF-sum;
    sum+=1
    print("%X" %sum)

    C代码

    void DoSum( INT8U *Str, INT8U len)
    {
    INT16U xorsum = 0;
    INT8U i;
    for(i=0; i<len; i++)
    {
    xorsum = xorsum + Str[i];
    }
    xorsum = 0 -xorsum;
    *(Str+i) = (INT8U)(xorsum >>8);//得到高字节 
    *(Str+i+1) = (INT8U)(xorsum & 0x00ff);//得到低字节
    }

    播放的命令

    比如播放第一首

    7E FF 06 03 00 00 01 FE F7 EF

    01 表示第一首

    调节音量7E FF 06 06 00 00 14 FE E1 EF

     0x14等于 20

    最高音量为30。

  • 相关阅读:
    最短Hamilton路径-状压dp解法
    泡芙
    斗地主
    楼间跳跃
    联合权值
    虫食算
    抢掠计划
    间谍网络
    城堡the castle
    【模板】缩点
  • 原文地址:https://www.cnblogs.com/legion/p/7366194.html
Copyright © 2011-2022 走看看