資源簡(jiǎn)介
我自己DIY雕刻機(jī)用的控制板是正點(diǎn)原子mini開發(fā)板,代碼step dir對(duì)應(yīng)的引腳需要替換成你自己硬件引腳。上位機(jī)通過串口控制電機(jī)運(yùn)動(dòng),不同的電機(jī)性能差距很大你需要將一些默認(rèn)參數(shù)設(shè)置為適合你的電機(jī)的如:默認(rèn)啟動(dòng)頻率,最大速度等等。
代碼片段和文件信息
?/***********************************************************************************************
?目標(biāo)板:ControlBoard?V1.0開發(fā)板
?程序功能:MODUBUS?上位處理模塊?錯(cuò)誤重發(fā)機(jī)制
?協(xié)議:?Modbus通信協(xié)議??19200?n.8.1
?工程建立日期:2013.12.9
?編寫人:董斌
?修改1:
?修改2:
*************************************************************************************************/
#include?“AbnormalHandle.h“
unsigned?int?Error_Code;
unsigned?char?ServoBusyBit[MAX_ADRESS]; //????
unsigned?char?ServoPauseBit[MAX_ADRESS]; //????
unsigned?char?ServoOriginBit[MAX_ADRESS]; //????
unsigned?char?ServoErrorBit[MAX_ADRESS]; //????
unsigned?char?ServoPwrOnBit[MAX_ADRESS]; //??ON
int?ServoCurrentPoint[MAX_ADRESS];????????????//???????XYZ
/*******************************************************************************
*?Function?Name??:
*?Description????:?空閑時(shí)?讀取當(dāng)前位置報(bào)警代碼PCIO狀態(tài)
********************************************************************************/
void?Read_Status_Handle(unsigned?char?adress)
{
????unsigned?int?RET;
????unsigned?char?adresi;
????unsigned?char?max_adres;
????switch?(adress)
????{
????????case?0:
????????????adres=1;????????????????????????//XYZ軸
????????????max_adres=MAX_ADRESS;
????????????break;
????????case?1:
????????????adres=1;????????????????????????//僅X軸
????????????max_adres=2;
????????????break;
????????case?2:
????????????adres=2;????????????????????????//僅Y軸
????????????max_adres=3;
????????????break;
????????case?3:
????????????adres=3;????????????????????????//僅Z軸
????????????max_adres=4;
????????????break;
????????default:????????????????????????????//地址超出
????????????adres=4;
????????????max_adres=4;?
????????????break;
????}
????for(i=adres;i ????{
RET=Read_CurrentStatus(i);
if(RET?!=?0xffff)
{
if(RET?&?0x0008)? ServoBusyBit[i]=1;??????????????????????//伺服忙碌??BIT(3)
else ServoBusyBit[i]=0;
if(RET?&?0x0020)? ServoPauseBit[i]=1; //伺服暫停 BIT(5)
else ServoPauseBit[i]=0;
if(RET?&?0x0010)? ServoOriginBit[i]=1;????????????????????//伺服原點(diǎn) BIT(4)
else ServoOriginBit[i]=0;
if(RET?&?0x0400)? ServoErrorBit[i]=1; //伺服報(bào)警 BIT(10)
else ServoErrorBit[i]=0;
if(RET?&?0x1000)? ServoPwrOnBit[i]=1; //伺服ON? BIT(12)
else ServoPwrOnBit[i]=0;
}
????????Delay_MS(10);??????
????????RET=Read_ErrorCode(i);???????????????????????????????????????????????????//報(bào)警代碼
????????if(RET?!=?0xffff)
????????{
????????????switch?(i)
????????????{
????????????case?1:
????????????????Error_Code?=?RET|0x1000;?????????????????????????????????????????//各軸的報(bào)警代碼
????????????????break;
????????????case?2:
????????????????Error_Code?=?RET|0x2000;
????????????????break;
????????????case?3:
????????????????Error_Code?=?RET|0x4000;
????????????????break;
????????????default:break;
????????????}
????????}
Delay_MS(10);
????????RET=Read_CurrentPoint(i);???????????????????????????????????????????????//讀取伺服當(dāng)前位置(絕對(duì))
????????i
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-19?19:33??Driver\
?????文件????????6512??2018-10-18?12:53??Driver\AbnormalHandle.c
?????文件????????1390??2018-10-18?12:53??Driver\AbnormalHandle.h
?????文件????????7643??2018-10-18?12:53??Driver\ADC.c
?????文件?????????412??2018-10-18?12:53??Driver\ADC.h
?????文件?????????671??2018-10-18?12:53??Driver\BKP_Init.c
?????文件?????????216??2018-10-18?12:53??Driver\BKP_Init.h
?????文件????????4741??2018-10-18?12:53??Driver\bsp.c
?????文件?????????636??2018-10-18?12:53??Driver\bsp.h
?????文件????????9471??2018-10-18?12:53??Driver\Canbus.c
?????文件?????????940??2018-10-18?12:53??Driver\Canbus.h
?????文件????????9025??2018-10-18?12:53??Driver\flash.c
?????文件????????1870??2018-10-18?12:53??Driver\flash.h
?????文件???????12326??2018-10-19?19:33??Driver\GPIO_Init.c
?????文件????????7072??2018-10-19?19:28??Driver\GPIO_Init.h
?????文件????????2486??2018-10-18?12:53??Driver\HMIGT02.c
?????文件?????????747??2018-10-18?12:53??Driver\HMIGT02.h
?????文件????????4770??2018-10-18?12:53??Driver\httpd.c
?????文件????????4158??2018-10-18?12:53??Driver\httpd.h
?????文件????????3171??2018-10-18?12:53??Driver\httputil.c
?????文件????????1593??2018-10-18?12:53??Driver\httputil.h
?????文件????????5099??2018-10-18?12:52??Driver\HX711.c
?????文件?????????920??2018-10-18?12:52??Driver\HX711.h
?????文件????????6018??2018-10-18?12:52??Driver\I2CEEPROM.c
?????文件????????1261??2018-10-18?12:52??Driver\I2CEEPROM.h
?????文件???????17685??2018-10-18?12:52??Driver\IAI_Motor.c
?????文件????????2151??2018-10-18?12:52??Driver\IAI_Motor.h
?????文件???????10568??2018-10-18?12:52??Driver\Modbus.c
?????文件?????????642??2018-10-18?12:52??Driver\Modbus.h
?????文件?????????930??2018-10-18?12:52??Driver\nvic_init.c
?????文件?????????277??2018-10-18?12:52??Driver\nvic_init.h
............此處省略669個(gè)文件信息
評(píng)論
共有 條評(píng)論