Bonjour à tous !
Dans le cadre d'un projet, je doit créer un logiciel capable de flasher 2 microcontrôleur distinct (PIC et CPU).
Pour celui-ci j'ai une dll en VB6, malheureusement elle n'est pas importable dans visual studio.
Je suis tombé sur un développement kit pour mon model de microcontrôleur en cpp .
Ce kit comprend :
- Un fichier Flasher.lib -> Code illisible
-// Flasher.exp -> Code illisible
- // DLL_interface.bas
Extrait du code DLL_interface
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Option Explicit 'dll function declarations Declare Function SetCom Lib "st10flasher.dll" (ByVal PortName$, ByVal comspeed As Long) As Long Declare Function LoadFile Lib "st10flasher.dll" (ByVal FileName$, ByRef Fsize As Long) As Long Declare Function InitMonitor Lib "st10flasher.dll" (ByVal device As Any) As Long Declare Function ProgramFlash Lib "st10flasher.dll" () As Long Declare Function GetError Lib "st10flasher.dll" (ByVal BufferForStatus As Any) As Long Declare Function EraseFlash Lib "st10flasher.dll" (ByVal Block As Long) As Long Declare Function CloseCom Lib "st10flasher.dll" () As Long Declare Function BlockNbToErase Lib "st10flasher.dll" (ByVal EraseBlockError As Boolean) As Long Declare Function AutoROMS1 Lib "st10flasher.dll" (ByRef RomS1Set As Boolean) As Long Declare Function SetROMS1 Lib "st10flasher.dll" (ByVal ROMS1 As Boolean) As Boolean
- // basicinterface.h
Extrait du code de BasicInterface.h
les deux extrait de code semblent avoir une fonction identique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 #ifndef _BASIC_INTERFACE_H #define _BASIC_INTERFACE_H #ifdef __cplusplus extern "C" { #endif #ifndef ST10FLASHER_API #define ST10FLASHER_API __declspec(dllimport) // To import flasher function #endif // Communication function ST10FLASHER_API unsigned int PASCAL SetCom(char *PortName, unsigned int ComSpeed); ST10FLASHER_API unsigned int PASCAL CloseCom(void); ST10FLASHER_API unsigned int PASCAL ComIsKline(void); ST10FLASHER_API unsigned int PASCAL SetComSpeed(char *portName, unsigned int ComSpeed); ST10FLASHER_API unsigned int PASCAL CalibrateSpeed(char *PortName, unsigned int ComSpeed); ST10FLASHER_API unsigned int PASCAL IsAvailableBaudRate(const double frequency,const unsigned int baudrate); // Global functions ST10FLASHER_API unsigned int PASCAL LoadFile(char *filename,unsigned long &size); ST10FLASHER_API unsigned int PASCAL InitMonitor(char *target); ST10FLASHER_API unsigned int PASCAL LoadExternalFlashMonitor(char *Monitor, char *target); ST10FLASHER_API unsigned int PASCAL GetError(char *BufferForStatus); ST10FLASHER_API unsigned int PASCAL EnablePort(unsigned short PortNb, unsigned short BitPosition,bool Val); ST10FLASHER_API unsigned int PASCAL DisablePort(unsigned short PortNb, unsigned short BitPosition);
Je ne sais pas du tout comment m'aider de ce code afin de pouvoir utilisé cette DLL. Si quelqu'un a une idée je suis preneur ! Merci d'avance !
Partager