亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? rd_usedlocate_lib.c

?? 全場地位系統:小車靜止或移動過程中碼盤進行全場定位,用的是avr單片機
?? C
字號:
/***********************************************************
*   函數庫說明:差分定位數值計算函數庫                     *
*   版本:      v1.00beta                                  *
*   作者:      王卓然                                     *
*   創建日期:  2008年3月29日                              *
* -------------------------------------------------------- *
*  [支 持 庫]                                              *
*   支持庫名稱:                                           *
*   需要版本:                                             *
*   支持庫說明:                                           *
* -------------------------------------------------------- *
*  [版本更新]                                              *
*   修改:                                                 *
*   修改日期:                                             *
*   版本:                                                 *
* -------------------------------------------------------- *
*  [版本歷史]                                              *
* -------------------------------------------------------- *
*  [使用說明]                                              *
***********************************************************/

/********************
* 頭 文 件 配 置 區 *
********************/
# include "RD_MacroAndConst.h"
# include "DL_Config.h"
# include "RD_UseDLocate_LIB.h"
# include "PF_Config.h"
# include "Math.h"

/********************
*   系 統 宏 定 義  *
********************/

/*------------------*
*   常 數 宏 定 義  *
*------------------*/

//輪子直徑
#ifndef WHEEL_D_L
    #error No define WHEEL_D_L!
#endif
#ifndef WHEEL_D_R
    #error No define WHEEL_D_R!
#endif

//輪間距
#ifndef D_BTW_WHEEL
    #error No define D_BTW_WHEEL
#endif

//每圈線精度
#ifndef N_L
    #error No define N_L
#endif
#ifndef N_R
    #error No define N_R
#endif

//碼盤倍頻數
#ifndef MULTIPLE
    #error No define MULTIPLE
#endif

//計數器 到 弧長
# define K_L    ((PI * (WHEEL_D_L)) / ((MULTIPLE) * (N_L)))
# define K_R    ((PI * (WHEEL_D_R)) / ((MULTIPLE) * (N_R)))




/*------------------*
*   動 作 宏 定 義  *
*------------------*/

/********************
*  自定義類型聲明區 *
********************/

/********************
*  模塊結構體定義區 *
********************/

/********************
*   函 數 聲 明 區  *
********************/
float Get_Absolute_Angle(void);
float fMod(float fNumberA,float fNumberB);
BOOL PROC_Difference_Locate(void);

/********************
*   模塊函數聲明區  *
********************/

/********************
*   模塊變量聲明區  *
********************/

/********************
*   全局變量聲明區  *
********************/
float g_fLastAngle = 0.0;
float g_fX = 0.0;
float g_fY = 0.0;

/********************
*  全局變量聲引用區 *
********************/
extern BOOL g_bRunFlagB;

/***********************************************************
*   函數說明:獲取當前絕對角度函數                         *
*   輸入:    無                                           *
*   輸出:    角度值                                       *
*   調用函數:無                                           *
***********************************************************/
float Get_Absolute_Angle(void)
{
    return 
        (
            (float)g_lCounterR * (float)K_R 
             - (float)g_lCounterL * (float)K_L
         ) * (1.0 / (float)D_BTW_WHEEL);
}

/***********************************************************
*   函數說明:獲取當前相對角度函數                         *
*   輸入:    左編碼器微分量,右編碼器微分量               *
*   輸出:    角度值(弧度)                               *
*   調用函數:無                                           *
***********************************************************/
float Get_Relative_Angle(INT32 lDCL,INT32 lDCR)
{
    if (lDCL == lDCR)
    {
        return 0.0;
    }
    
    return 
        (
            (float)lDCR * (float)K_R 
             - (float)lDCL * (float)K_L
         ) * (1.0 / (float)D_BTW_WHEEL);
}



/***********************************************************
*   函數說明:差分定位計算函數                             *
*   輸入:    無                                           *
*   輸出:    FALSE                                        *
*   調用函數:無                                           *
***********************************************************/
BOOL PROC_Difference_Locate(void)
{
    static INT32 s_lLastCounterL = 0;
    static INT32 s_lLastCounterR = 0;
    
    if ((g_lCounterLImage - s_lLastCounterL)
         == (g_lCounterRImage - s_lLastCounterR))
    {
        INT16 nDeltaCounterL = (INT16)((INT32)g_lCounterLImage - (INT32)s_lLastCounterL);
        float fR = ((float)nDeltaCounterL * (float)K_L);
        
        g_fX += fR * cos(g_fLastAngle);
        g_fY += fR * sin(g_fLastAngle);
    }
    else
    {
        float fDeltaAngle,fAbsoluteAngle;
        //計算角度微元
        {
            float fTempAngle = Get_Relative_Angle
                            (
                                g_lCounterLImage,
                                g_lCounterRImage
                            );
            fDeltaAngle = (fTempAngle - g_fLastAngle);
            fAbsoluteAngle = fDeltaAngle * 0.5 + g_fLastAngle;
    
            g_fLastAngle = fTempAngle;
        }
        //計算位置微元
        {
            INT16 nDeltaCounterL = (INT16)((INT32)g_lCounterLImage - (INT32)s_lLastCounterL);
            float fR = (((float)nDeltaCounterL * (float)K_L) * (1.0 / fDeltaAngle) 
                + (float)D_BTW_WHEEL * 0.5);

            fR = 2.0 * fR * sin(fDeltaAngle * 0.5);             //fR->l
        
            g_fX += fR * cos(fAbsoluteAngle);
            g_fY += fR * sin(fAbsoluteAngle);
        }
    }
    
    //數據更新
    s_lLastCounterL = g_lCounterLImage;
    s_lLastCounterR = g_lCounterRImage;
    g_bRunFlagB = TRUE;
    
    return FALSE;
}

/***********************************************************
*   函數說明:實數求模函數                                 *
*   輸入:    被除數,除數                                 *
*   輸出:    取模結果                                     *
*   調用函數:無                                           *
***********************************************************/
float fMod(float fNumberA,float fNumberB)
{
    if (fNumberB < 0)
    {
        if (fNumberA < 0)
        {
            while(fNumberA < fNumberB)
            {
                fNumberA -= fNumberB;
            }
        
            return fNumberA;
        }
        else if (fNumberA > 0)
        {
            while((fNumberA + fNumberB) > fNumberB)
            {
                fNumberA += fNumberB;
            }
            
            return fNumberA;
        }
        else
        {
            return 0.0;
        }
    }
    else if (fNumberB > 0)
    {
        if (fNumberA < 0)
        {
            while((fNumberA + fNumberB) < fNumberB)
            {
                fNumberA += fNumberB;
            }
            
            return fNumberA;
        }
        else if (fNumberA > 0)
        {
            while(fNumberA > fNumberB)
            {
                fNumberA -= fNumberB;
            }
            
            return fNumberA;
        }
        else
        {
            return 0.0;
        }
    }
    else
    {
        return 0.0;
    }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品 欧美精品| 高清不卡在线观看| 九九国产精品视频| 成人午夜电影小说| 欧美视频日韩视频在线观看| 日韩欧美色综合| 亚洲欧洲日韩在线| 精品美女在线播放| 欧美电影一区二区| 欧美三级三级三级| 久久女同精品一区二区| 亚洲精品精品亚洲| 精品一区二区三区视频在线观看| 丝袜美腿高跟呻吟高潮一区| 久久99久久99| 日本国产一区二区| 国产夜色精品一区二区av| 亚洲福利视频一区| 99久久婷婷国产综合精品| 欧美一级国产精品| 欧美一区二区女人| 亚洲乱码中文字幕| 国产黄色91视频| 日韩一级完整毛片| 一区二区三区四区中文字幕| 亚洲精品欧美在线| 国产成人在线免费| 精品欧美一区二区久久| 亚洲一级二级三级在线免费观看| 亚洲美女在线一区| 国产酒店精品激情| 成人h动漫精品| 91免费视频网| 亚洲国产精品二十页| 老汉av免费一区二区三区| 欧美日韩国产中文| 亚洲韩国一区二区三区| 暴力调教一区二区三区| 久久久久久亚洲综合| 老司机精品视频一区二区三区| 国产激情一区二区三区| 日韩三级伦理片妻子的秘密按摩| 国产亚洲成av人在线观看导航| 国产精品毛片无遮挡高清| 久久99精品网久久| 日韩视频免费观看高清在线视频| 久久这里只有精品视频网| 国产偷国产偷精品高清尤物| 另类小说图片综合网| 成人成人成人在线视频| 日本一区二区三区在线不卡| 国产自产高清不卡| 一本一道综合狠狠老| 欧美丰满美乳xxx高潮www| 欧美成人一区二区三区在线观看| 国产日韩欧美综合一区| 粉嫩高潮美女一区二区三区 | 久久亚洲综合色一区二区三区| 国产亚洲福利社区一区| 国产精一品亚洲二区在线视频| av成人老司机| 亚洲啪啪综合av一区二区三区| 日本不卡一区二区三区| 欧美一区二区啪啪| 国产精品一区在线观看乱码 | 成人小视频在线观看| 国产女同性恋一区二区| 日韩电影一区二区三区四区| 欧美精品乱码久久久久久按摩| 国产女同互慰高潮91漫画| 亚洲bdsm女犯bdsm网站| 欧美一卡在线观看| 国产精品18久久久久| 国产精品女主播av| 在线观看成人小视频| 中文字幕乱码一区二区免费| 免费人成黄页网站在线一区二区| av成人老司机| 肉丝袜脚交视频一区二区| 日韩美女视频一区二区在线观看| 一级特黄大欧美久久久| 成a人片亚洲日本久久| 亚洲成人av免费| 欧美精品一区二区三区很污很色的| 日韩和的一区二区| 国产欧美一区二区三区鸳鸯浴| 麻豆精品久久精品色综合| 国产视频一区二区在线| 狠狠色伊人亚洲综合成人| 国产精品免费视频网站| 欧美日韩激情在线| 大美女一区二区三区| 日精品一区二区三区| 中文字幕成人av| 欧美一区二区三区系列电影| 成人av网站在线观看免费| 日韩av中文字幕一区二区 | 蜜臀99久久精品久久久久久软件| 91黄色免费看| 国产在线精品一区二区不卡了| 日韩免费高清电影| 日本高清不卡aⅴ免费网站| 精品亚洲国产成人av制服丝袜| 欧美xfplay| 欧洲日韩一区二区三区| 国产黑丝在线一区二区三区| 日日夜夜一区二区| 亚洲精品免费在线| 国产区在线观看成人精品| 日韩欧美在线影院| 欧美亚洲高清一区| 日韩中文字幕不卡| 日韩亚洲欧美高清| 欧美午夜免费电影| 91日韩在线专区| 国产精品一区二区在线播放| 五月天亚洲精品| 亚洲精品国产无天堂网2021 | 美日韩一级片在线观看| 亚洲男人电影天堂| 中文字幕在线不卡国产视频| 2021久久国产精品不只是精品| 国产一区二区精品久久| 日本欧美在线观看| 日韩在线一二三区| 丝袜美腿亚洲色图| 国产欧美一区在线| 久久久精品综合| 欧美成人精品高清在线播放| 粉嫩av一区二区三区粉嫩 | 亚洲欧美国产高清| 中文字幕日韩欧美一区二区三区| 欧美性生活大片视频| 欧洲国内综合视频| 韩国欧美国产1区| 狠狠色伊人亚洲综合成人| 精品一区二区精品| 亚洲免费伊人电影| 一区二区三区小说| 亚洲第一电影网| 日韩国产欧美在线观看| 麻豆成人av在线| 国产一区二区三区香蕉| 国产精品一区二区三区99| 国产大陆精品国产| 99精品国产视频| 色综合天天综合网天天看片| 91免费版在线| 欧美日韩国产在线播放网站| 7777精品伊人久久久大香线蕉完整版 | 久久精品无码一区二区三区| 精品日韩99亚洲| 欧美韩国日本不卡| 欧美一级视频精品观看| 日韩一区二区免费在线观看| 91网站在线播放| 3d动漫精品啪啪一区二区竹菊| 成人app网站| 91福利在线免费观看| 欧美一区二区三区人| 久久久久9999亚洲精品| 亚洲精品老司机| 琪琪久久久久日韩精品| 国产一区视频导航| 青青草视频一区| www.成人在线| 91精品国产色综合久久久蜜香臀| 色婷婷综合久久久中文一区二区| 国产成人av电影在线播放| 在线精品视频一区二区| 欧美精品一区二区三区高清aⅴ| 91麻豆精品国产综合久久久久久| 在线观看欧美日本| 久久午夜色播影院免费高清| 亚洲欧美日韩精品久久久久| 视频一区二区中文字幕| 成人国产免费视频| 制服丝袜中文字幕亚洲| 国产精品久久网站| 奇米影视7777精品一区二区| 高清av一区二区| 91精品国产综合久久久久久久| 欧美日本国产视频| 亚洲国产精品成人综合色在线婷婷| 久久久国产精华| 中文字幕不卡在线播放| 日韩在线一区二区| 91蜜桃免费观看视频| 久久免费午夜影院| 亚洲图片自拍偷拍| 日韩激情一区二区| 日本乱人伦一区| 国产欧美日韩在线视频| 国产精品蜜臀在线观看| 男人操女人的视频在线观看欧美| 日本在线播放一区二区三区| 一本久道久久综合中文字幕| 久久综合久久综合久久综合| 国产欧美精品一区aⅴ影院| 日韩高清一区二区|