begin process at 2012 05 29 15:38:51
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

petit probleme en c++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

petit probleme en c++

lundi 17 février 2003 à 16:09:02 | petit probleme en c++

chris5874

bonjour!
je développe actuellement un logiciel en c++ pour piloter un moteur pas à pas.
j'aimerais piloter le moteur par demi pas,en ayant une vitesse reglable(pas trop rapide,pas trop lente!)
g déjà réussi à faire tourner le moteur,les sorties sont bonnes,seulement g un problème avec la consigne de vitesse.
en effet,j'utilise la commande sleep(une valeur)
et je n'arrive pas à arreter le systeme qd j'appuie sur un bouton!
pourriez vous m'aider svp?
je vous remercie d'avance

voici ci dessous un extrait du code source:

for (variableboucle = 10; variableboucle<=consigne; variableboucle++)
{
_outp(0x378,0x1);
Sleep(a);
_outp(0x378,0x5);
Sleep(a);
_outp(0x378,0x4);
Sleep(a);
_outp(0x378,0x6);
Sleep(a);
_outp(0x378,0x2);
Sleep(a);
_outp(0x378,10);
Sleep(a);
_outp(0x378,0x8);
Sleep(a);
_outp(0x378,0x9);
Sleep(a);

}
_outp(0x378,0x0);
}
lundi 17 février 2003 à 20:32:30 | Re : petit probleme en c++

skone007

ca serait bien si on avait les source en entier
lundi 17 février 2003 à 22:10:16 | Re : petit probleme en c++

chris5874





-------------------------------
Réponse au message :
-------------------------------

> ca serait bien si on avait les source en entier

le prog a été fait avec visual c++6 .
et voici les sources en entier!

// essai moteur 2Dlg.cpp : implementation file
//

#include "stdafx.h"
#include "essai moteur 2.h"
#include "essai moteur 2Dlg.h"
#include <dos.h>
#include <conio.h>
#include <stdio.h>

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

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
CAboutDlg();

// Dialog Data
//{{AFX_DATA(CAboutDlg)
enum { IDD = IDD_ABOUTBOX };
//}}AFX_DATA

// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAboutDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL

// Implementation
protected:
//{{AFX_MSG(CAboutDlg)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
//{{AFX_DATA_INIT(CAboutDlg)
//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAboutDlg)
//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
//{{AFX_MSG_MAP(CAboutDlg)
// No message handlers
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEssaimoteur2Dlg dialog

CEssaimoteur2Dlg::CEssaimoteur2Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CEssaimoteur2Dlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CEssaimoteur2Dlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CEssaimoteur2Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CEssaimoteur2Dlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CEssaimoteur2Dlg, CDialog)
//{{AFX_MSG_MAP(CEssaimoteur2Dlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_EXIT, OnExit)
ON_BN_CLICKED(IDC_GO, OnGo)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CEssaimoteur2Dlg message handlers

BOOL CEssaimoteur2Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);
if (pSysMenu != NULL)
{
CString strAboutMenu;
strAboutMenu.LoadString(IDS_ABOUTBOX);
if (!strAboutMenu.IsEmpty())
{
pSysMenu->AppendMenu(MF_SEPARATOR);
pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
}
}

// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here

return TRUE; // return TRUE unless you set the focus to a control
}

void CEssaimoteur2Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}

// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.

void CEssaimoteur2Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle
int cxIcon = GetSystemMetrics(SM_CXICON);
int cyIcon = GetSystemMetrics(SM_CYICON);
CRect rect;
GetClientRect(&rect);
int x = (rect.Width() - cxIcon + 1) / 2;
int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}

// The system calls this to obtain the cursor to display while the user drags
// the minimized window.
HCURSOR CEssaimoteur2Dlg::OnQueryDragIcon()
{
return (HCURSOR) m_hIcon;
}

void CEssaimoteur2Dlg::OnExit()
{
// TODO: Add your control notification handler code here
OnOK();
}

void CEssaimoteur2Dlg::OnGo()
{
int variableboucle = 10;
int a = 200;

for (variableboucle = 10; variableboucle<=25; variableboucle++)
{
_outp(0x378,0x1);
Sleep(a);
_outp(0x378,0x5);
Sleep(a);
_outp(0x378,0x4);
Sleep(a);
_outp(0x378,0x6);
Sleep(a);
_outp(0x378,0x2);
Sleep(a);
_outp(0x378,10);
Sleep(a);
_outp(0x378,0x8);
Sleep(a);
_outp(0x378,0x9);
Sleep(a);

}
_outp(0x378,0x0);
}

merci


Cette discussion est classée dans : moteur, sleep, outp, 0x378, variableboucle


Répondre à ce message

Sujets en rapport avec ce message

Moteur 2D [ par jaylin ] Je recherche des personnes pour aider a faire un moteur 2D assez performant. Mon Moteur 3D [ par ndj55 ] Salut à tous!Je travaille en ce moment sur un projet de moteur 3D...Rejouissez vous,il est sous licence GNU/GPL et il est donc fournit avec ses source inp et outp [ par eric ] J'ai un problème avec ces deux fonctions.Voici les messages que j'obtiens à la compilation:bmp.obj : error LNK2001: unresolved external symbol _outpbm mailing list [ par dragon ] c'est pas vraiment un appel a l'aide, mais c'était la section du forum qui me paressait la plus appropriéje suis codeur pour le mod StarCraft Tatal Co fonction Sleep ou Delay sous VC++ 6HELP !!! [ par TricK ] salut ou sont donc passer ces focntions dans la version 6 de visual c++ j'en ai granve besoin dans un programme ...au secourssi quelqu'un a une librai moteur 3d [ par FleXus ] Bonjour Je suis à la recherche d'un moteur 3d capable de génererdu "3d landscape rendering" ( comme truevision3d www.truvision3dsdk.com ) mais étant c Son de moteur réaliste [ par Aldebaran ] Bi'jour ! Je souhaite gérer un bruit de moteur réaliste pour un jeu... comment gérer la boucle sur le son, pour faire varier le résultat selon l'accel Outp()->Port série sous Visual C++ [ par Manson ] 'lut tout le monde,kk'un sait comment on utilise outp() sous Visual C ?Paske j'aimerais faire un control pour le port série. Mais je n'arrive pas à ut Aide sleep [ par ManDeq59 ] Salut, Je programme sur Borland C++ 4.0 et je n'arive pas à utiliser les fonction sleep(..), il me marque une erreur.Comment pus-je faire pour pouvoir Mon moteur graphique (2D) va à 10 FPS ? [ par ProGamer ] Je ne comprends pas... Sur mon PC (processeur AMD Athlon XP 1500+), je l'ai testé, à 60 FPS. J'ai ensuite essayé sur mon ancien PC, qui est tout de mê


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,296 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales