一级欧美在线高清视频_亚洲一区在线观看精品_成人专区亚洲专区无码_亚洲中文字幕日韩经典空组_?啪啪网站免费_f免费观看四虎精品国产_日韩欧美永久中文字幕视频_下药人妻无码不卡_日韩特一级毛片在线观看_男女午夜人成免费视频

Technical Articles

發(fā)現(xiàn)步進(jìn)電機(jī)定位不準(zhǔn)怎么辦

作者: 發(fā)布時(shí)間:2024-07-01

一、問(wèn)題現(xiàn)象及分析 問(wèn)題經(jīng)常通過(guò)以下編程表現(xiàn)出來(lái):


//X發(fā)出脈沖后,等待脈沖發(fā)完后再做其它事情

d1000_start_t_move( 0, 6400, 3200, 6400, 0.1 );

while( d1000_check_done(0) == 0 ); 老版本的庫(kù)函數(shù)如下:


d1000_start_tr_move( 0, 6400, 3200, 6400, 0.1 );

while( d1000_check_done(0) == 0 ); 或者:

d1000_wait_done( 0 ); 此函數(shù)內(nèi)部實(shí)際上包含類似于while( d1000_check_done(0) == 0 );的語(yǔ)句 以上可以看出,在檢測(cè)脈沖是否發(fā)完時(shí),此段代碼的執(zhí)行完全獨(dú)占了CPU分配給當(dāng)前進(jìn)程的所有時(shí)間, 因而也排擠了其它消息的響應(yīng),當(dāng)然也就不能響應(yīng)定時(shí)器讀取位置,或其它停止操作等. 二、解決方法 解決此問(wèn)題關(guān)鍵是讓while循環(huán)時(shí)能檢測(cè)系統(tǒng)消息,以下分別介紹在VB,VC,CB下的解決措施: 注:以下編程全以DMC1000最新的驅(qū)動(dòng)庫(kù)函為參考


1.VB編程

d1000_start_t_move 0, 6400, 3200, 6400, 0.1

DO

DoEvents

LOOP WHILE (d1000_check_done(0) = 0)


2.VC編程 在VC下編程關(guān)鍵是要解決類似于VB的DoEvnets函數(shù)


void DoEvents()

{

static MSG msg;

if( ::PeekMessage(&msg,NULL,0,0,PM_NOREMOVE) ){

::TranslateMessage( &msg );

::DispatchMessage( &msg );

}


Online consultation
Scan

Scan

TEL
18958700055

TOP