?? lc_var.h
字號:
/***************************************************/
/* 尋跡小車 FollowMe 項目 */
/* —— 主控程序軌跡控制模塊 */
/* 之變量聲明 */
/* 20060905 */
/* By DingQi */
/***************************************************/
// 注:以下文檔的 TAB 為2個字符!
// 數據接收用
unsigned char xdata ga_ucRcvBuf[MaxRcvByte_C]; // 接收緩沖區
unsigned char data gi_ucSavePtr; // 存數指針,每收到一個字節保存到緩沖區后加“1”。
unsigned char data gi_ucGetPtr; // 從緩沖區中取數的指針,每取出一個字節后加“1”。
unsigned char idata gi_ucStartPtr; // 幀起始位置,指向數據區開始。
unsigned char idata gi_ucEndPtr; // 幀結束位置。
unsigned char idata gc_ucDataLen; // 幀長,即數據區字節數。
bit gb_NewData; // 串口收到一個字節標志,為減少變量交互。
bit gb_StartRcv; // 開始接收數據幀標志。
bit gb_DataOK; // 數據準備好標志。
unsigned char xdata ga_ucTxdBuf[MaxTxdByte_C+4]; // 發送緩沖區,用于返回轉速值等。
unsigned char data gi_ucTxdPtr; // 發送指針
unsigned char data gc_ucTxdCnt; // 發送字節計數
// 控制命令數據, 采用數組存放, 0 - 對應電機 1 , 1 - 對應電機 2
int idata ga_iPWM_Value[2]; // 接收到的或者是PID計算出的 PWM 控制值, 單位:0.1%
int idata ga_iRotateSpeed[2]; // 接收到的轉速值, 單位: 0.1 轉/分
unsigned int xdata ga_uiRotateNum[2]; // 接收到的轉動脈沖數,
unsigned int idata g_uiPWM_Freq; // 接收到的 PWM 頻率, 單位: Hz,此值兩個電機相同
bit gb_M1CalOutValue; // 電機 1 得到了新的PWM控制值,提示計算新的輸出控制數據
bit gb_M2CalOutValue; // 電機 2 得到了新的PWM控制值,提示計算新的輸出控制數據
// 行走脈沖計數處理
extern unsigned int idata gac_uiPulsCnt[2]; // 對碼盤脈沖計數,從程序開始計,一直到程序結束,按現在的碼盤,可以走851米
extern unsigned int idata ga_uiStopCnt[2]; // 收到定數走命令后計算出的 gui_PulsCnt 停止值
extern char data ga_cMotorStat[2]; // 電機運轉標志
// PID電機調速控制算法
unsigned int xdata g_uiKp; // 比例系數, 這幾個參數暫時定為兩個電機相同。
unsigned int xdata g_uiTi; // 積分系數
unsigned int xdata g_uiTd; // 微分系數
unsigned int xdata g_uiPID_Ratio; // PID 系數的比例值
extern unsigned char data gac_ucGetSpeedCnt[2]; // 對速度采集減計數,大于3次后開始計算PID
bit gb_EnablePID; // 允許PID控制標志,收到速度控制命令時建立,收到PWM命令時清除
// 速度測量
extern int idata ga_iCurSpeed[2]; // 計算出的當前轉速,單位 0.1轉/分
// 走軌跡
extern char idata g_cSampleOut; // 采樣輸出值
char idata g_cOldSampOut; // 上次的采樣輸出值
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -