中文久久乱码一区二区,丰满大爆乳波霸奶,久久婷婷五月综合色丁香,97se亚洲国产综合自在线观看

股票代碼:002979
中文
技術熱線: 400-885-5501
下載

服務與支持

技術文章

您所在的位置:首頁 > 服務與支持 > 應用支持 > 技術文章

控制卡應用編程技巧幾招

一、問題現象及分析 問題經常通過以下編程表現出來:


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

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

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


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

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

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


1.VB編程

d1000_start_t_move 0, 6400, 3200, 6400, 0.1

DO

DoEvents

LOOP WHILE (d1000_check_done(0) = 0)


2.VC編程 在VC下編程關鍵是要解決類似于VB的DoEvnets函數


void DoEvents()

{

static MSG msg;

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

::TranslateMessage( &msg );

::DispatchMessage( &msg );

}

在線客服 意見反饋 知識產權舉報
主站蜘蛛池模板: 扎囊县| 安庆市| 吴堡县| 新营市| 潼南县| 江川县| 南宫市| 博罗县| 红安县| 顺昌县| 黔西| 壶关县| 汉寿县| 敦煌市| 朝阳市| 西林县| 灌阳县| 汉阴县| 北安市| 甘南县| 武平县| 安庆市| 开化县| 中超| 邢台县| 永靖县| 隆安县| 蒙阴县| 台南县| 蒙城县| 龙里县| 沙湾县| 东至县| 尚志市| 雅江县| 华宁县| 修文县| 昭平县| 怀远县| 邯郸市| 吐鲁番市|