⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loaddll.cpp

📁 运动控制VC实例demo1001c02w9xw2km02
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// LoadDll.cpp: implementation of the CLoadDll class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "LoadDll.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CLoadDll::CLoadDll()
{
	LoadDllFun();			//加载DLL文件
}

CLoadDll::~CLoadDll()
{
	if (hDLL != NULL)
	{
		FreeLibrary(hDLL);	//释放DLL
	}
}

int CLoadDll::LoadDllFun()
{
	hDLL = LoadLibrary("MPC02");	//加载mpc02.dll
	if (hDLL != NULL)
	{
		//////////////////////////////////////
		//以下取得各个DLL函数指针
		set_board_num = (LPFNDLL_set_board_num)GetProcAddress(hDLL,
                                           "set_board_num");
		set_axe = (LPFNDLL_set_axe)GetProcAddress(hDLL,
                                           "set_axe");
		set_board_base = (LPFNDLL_set_board_base)GetProcAddress(hDLL,
                                           "set_board_base");
		get_board_base = (LPFNDLL_get_board_base)GetProcAddress(hDLL,
                                           "get_board_base");
		get_max_axe = (LPFNDLL_get_max_axe)GetProcAddress(hDLL,
                                           "get_max_axe");
		auto_set = (LPFNDLL_auto_set)GetProcAddress(hDLL,
                                           "auto_set");
		init_board = (LPFNDLL_init_board)GetProcAddress(hDLL,
                                           "init_board");
		check_board = (LPFNDLL_check_board)GetProcAddress(hDLL,
                                           "check_board");
		auto_check = (LPFNDLL_auto_check)GetProcAddress(hDLL,
                                           "auto_check");

		set_outmode = (LPFNDLL_set_outmode)GetProcAddress(hDLL,
                                           "set_outmode");
		set_getpos_mode = (LPFNDLL_set_getpos_mode)GetProcAddress(hDLL,
                                           "set_getpos_mode");
		set_home_mode = (LPFNDLL_set_home_mode)GetProcAddress(hDLL,
                                           "set_home_mode");

		set_board_irq = (LPFNDLL_set_board_irq)GetProcAddress(hDLL,
                                           "set_board_irq");
		get_board_irq = (LPFNDLL_get_board_irq)GetProcAddress(hDLL,
                                           "get_board_irq");
		get_intr_vector = (LPFNDLL_get_intr_vector)GetProcAddress(hDLL,
                                           "get_intr_vector");
		enable_axis_intr = (LPFNDLL_enable_axis_intr)GetProcAddress(hDLL,
                                           "enable_axis_intr");
		disable_axis_intr = (LPFNDLL_disable_axis_intr)GetProcAddress(hDLL,
                                           "disable_axis_intr");
		get_axis_intr = (LPFNDLL_get_axis_intr)GetProcAddress(hDLL,
                                           "get_axis_intr");

		enable_board_irq = (LPFNDLL_enable_board_irq)GetProcAddress(hDLL,
                                           "enable_board_irq");
		enable_timer_irq = (LPFNDLL_enable_timer_irq)GetProcAddress(hDLL,
                                           "enable_timer_irq");
		disable_board_irq = (LPFNDLL_disable_board_irq)GetProcAddress(hDLL,
                                           "disable_board_irq");
		disable_timer_irq = (LPFNDLL_disable_timer_irq)GetProcAddress(hDLL,
                                           "disable_timer_irq");
		set_board_isr = (LPFNDLL_set_board_isr)GetProcAddress(hDLL,
                                           "set_board_isr");
		set_timer_isr = (LPFNDLL_set_timer_isr)GetProcAddress(hDLL,
                                           "set_timer_isr");
		init_8254 = (LPFNDLL_init_8254)GetProcAddress(hDLL,
                                           "init_8254");
		enable_8254 = (LPFNDLL_enable_8254)GetProcAddress(hDLL,
                                           "enable_8254");

		set_conspeed = (LPFNDLL_set_conspeed)GetProcAddress(hDLL,
                                           "set_conspeed");
		set_iconspeed = (LPFNDLL_set_iconspeed)GetProcAddress(hDLL,
                                           "set_iconspeed");
		get_conspeed = (LPFNDLL_get_conspeed)GetProcAddress(hDLL,
                                           "get_conspeed");
		set_vector_conspeed = (LPFNDLL_set_vector_conspeed)GetProcAddress(hDLL,
                                           "set_vector_conspeed");
		get_vector_profile = (LPFNDLL_get_vector_profile)GetProcAddress(hDLL,
                                           "get_vector_profile");
		set_vector_profile = (LPFNDLL_set_vector_profile)GetProcAddress(hDLL,
                                           "set_vector_profile");
		set_ellipse_ratio = (LPFNDLL_set_ellipse_ratio)GetProcAddress(hDLL,
                                           "set_ellipse_ratio");
		set_s_curve = (LPFNDLL_set_s_curve)GetProcAddress(hDLL,
                                           "set_s_curve");
		set_s_section = (LPFNDLL_set_s_section)GetProcAddress(hDLL,
                                           "set_s_section");
		set_profile = (LPFNDLL_set_profile)GetProcAddress(hDLL,
                                           "set_profile");
		get_profile = (LPFNDLL_get_profile)GetProcAddress(hDLL,
                                           "get_profile");
		set_mprofile = (LPFNDLL_set_mprofile)GetProcAddress(hDLL,
                                           "set_mprofile");
		change_accel = (LPFNDLL_change_accel)GetProcAddress(hDLL,
                                           "change_accel");
		change_decel = (LPFNDLL_change_decel)GetProcAddress(hDLL,
                                           "change_decel");
		change_speed = (LPFNDLL_change_speed)GetProcAddress(hDLL,
                                           "change_speed");
		get_abs_pos = (LPFNDLL_get_abs_pos)GetProcAddress(hDLL,
                                           "get_abs_pos");
		get_rel_pos = (LPFNDLL_get_rel_pos)GetProcAddress(hDLL,
                                           "get_rel_pos");
		reset_pos = (LPFNDLL_reset_pos)GetProcAddress(hDLL,
                                           "reset_pos");
		set_encoder = (LPFNDLL_set_encoder)GetProcAddress(hDLL,
                                           "set_encoder");
		get_encoder = (LPFNDLL_get_encoder)GetProcAddress(hDLL,
                                           "get_encoder");

		wait_done = (LPFNDLL_wait_done)GetProcAddress(hDLL,
                                           "wait_done");
		wait_done2 = (LPFNDLL_wait_done2)GetProcAddress(hDLL,
                                           "wait_done2");
		check_done = (LPFNDLL_check_done)GetProcAddress(hDLL,
                                           "check_done");
		check_done2 = (LPFNDLL_check_done2)GetProcAddress(hDLL,
                                           "check_done2");

		decel_stop = (LPFNDLL_decel_stop)GetProcAddress(hDLL,
                                           "decel_stop");
		decel_stop2 = (LPFNDLL_decel_stop2)GetProcAddress(hDLL,
                                           "decel_stop2");
		decel_stop3 = (LPFNDLL_decel_stop3)GetProcAddress(hDLL,
                                           "decel_stop3");
		sudden_stop = (LPFNDLL_sudden_stop)GetProcAddress(hDLL,
                                           "sudden_stop");
		sudden_stop2 = (LPFNDLL_sudden_stop2)GetProcAddress(hDLL,
                                           "sudden_stop2");
		sudden_stop3 = (LPFNDLL_sudden_stop3)GetProcAddress(hDLL,
                                           "sudden_stop3");
		check_status = (LPFNDLL_check_status)GetProcAddress(hDLL,
                                           "check_status");

		con_hmove = (LPFNDLL_con_hmove)GetProcAddress(hDLL,
                                           "con_hmove");
		con_hmove2 = (LPFNDLL_con_hmove2)GetProcAddress(hDLL,
                                           "con_hmove2");
		con_hmove3 = (LPFNDLL_con_hmove3)GetProcAddress(hDLL,
                                           "con_hmove3");
		fast_hmove = (LPFNDLL_fast_hmove)GetProcAddress(hDLL,
                                           "fast_hmove");
		fast_hmove2 = (LPFNDLL_fast_hmove2)GetProcAddress(hDLL,
                                           "fast_hmove2");
		fast_hmove3 = (LPFNDLL_fast_hmove3)GetProcAddress(hDLL,
                                           "fast_hmove3");

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -