⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test_srvrule.c

📁 飞思卡尔半导体是全球领先的半导体公司,为汽车、消费、工业、网络和无线市场设计并制造嵌入式半导体产品。这家私营企业总部位于美国德克萨斯州奥斯汀,在全球30多个国家和地区拥有设计、研发、制造和销售机构。
💻 C
字号:
// 舵机转角控制
#include "includes.h"
/*
INT16U ruleSelect = 0;
INT16U k;
INT16U tp;
extern const INT8U servo_turn_arr[251];
const INT16U SrvRule[2][7][3] = {
    {
        {0, 40, 56},
        {41, 49, 203},
        {80, 80, 56},
        {125, 90, 50},
        {171, 99, 276},
        {209, 140, 62},
        {250, 150, 0}
    },{
        {0, 40, 12},
        {41, 42, 184},
        {102, 86, 44},
        {125, 90, 23},
        {179, 95, 286},
        {221, 142, 70},
        {250, 150, 0}
    },
};

INT16U m,n,x;

INT16U PosToAgl(INT16U pos) {
    if(ruleSelect == 0) {
        return servo_turn_arr[pos];
    }
    k = 2;
    ruleSelect--;
    while(!(pos < SrvRule[ruleSelect][k+1][0] && pos >= SrvRule[ruleSelect][k][0])) {
        if(pos >= SrvRule[ruleSelect][k][0]) {
            k++;
        } else {
            k--;
        }
    }
    x = pos;
    m = SrvRule[ruleSelect][k][1];
    n = SrvRule[ruleSelect][k][2] * (pos - SrvRule[ruleSelect][k][0]) >> 8;


    ruleSelect++;
    return SrvRule[ruleSelect][k][1] + (SrvRule[ruleSelect][k][2] * (pos - SrvRule[ruleSelect][k][0]) >> 8);
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -