Structure & chaine de caractere....

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 751 fois - Téléchargée 36 fois

Contenu du snippet

Je ne sais pas pour vous, mais moi je transfert souvent des informaations par la voie serie ou USB. Le probleme c'est le temps de transmission et la longueur du code lorsque l'on désire transferer une structure complexe. J'ai essayer avec RltMoveMemory mais impossible d'obtenir ce que je veux.

Comme, en géneral, la transmission de donnée se resume a une chaine de caractere, j'utilise les des fichiers d'entrée/sortie pour recuperer mes données. Acces disque dur -> très lent .. c'est vrai mais ca reste très pratique....

Remarque : si vous avez une facon plus commode et moin barbare, je suis preneur et pret a prendre des lecon de tous le monde.. tant que ca fait avancer le schmimilli biibblliil blick.....

Source / Exemple :


type ESSAI
	a as byte
	b as byte
	c as byte
end type

sub main()
dim strMessage as string
dim stStruct as ESSAI
dim bValue as byte

	strMessage = "012"

	open "c:\tempo.str" for output as #1
		print #1,strMessage
	close #1

	open "c:\tempo.str" for binary as #1
		get #1,,stStruct
	close #1

	bValue = stStruct.a	' bValue = 48
	bValue = stStruct.b	' bValue = 49
	bValue = stStruct.c	' bValue = 50
end sub

Conclusion :


Exemple simple mais trés pratique losque l'on a des trucs du genre :

Public Type ProgInfo
TERMINAL As Byte '
Portcom As Byte '
Vitesse As Long '
VitesseRapide As Long '
RAM As Byte '
HYPER As Byte '
TEMPS As Byte '
PROGRAPIDE As Byte '

TOP_FORM As Long '
LEFT_FORM As Long '

LastPrj1(15) as byte
LastPrj2(15) as byte
LastPrj3(15) as byte
LastPrj4(15) as byte
LastPrj5(15) as byte

Bouton1(40) as byte
Bouton2(40) as byte
Bouton3(40) as byte

PathBOOT(20) as byte
PathSOURCE(20) as byte
PathROM(20) as byte
PathPrj(20) as byte
Commentaire(50) As byte

Extended As Byte

Bouton1 As String
Bouton2 As String

Vitesse As Long '
VitesseRapide As Long '
RAM As Byte '
HYPER As Byte '
TEMPS As Byte '
PROGRAPIDE As Byte '

End Type

A voir également

Ajouter un commentaire

Commentaires

BarthOlivier
Messages postés
132
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
27 novembre 2012
1
Salut.

Si c'est un simple cable A/A (c'est a dire prise PC - PC) tu ne pourras jamais communiquer...

Sans rentrer dans les details de l'USB, le seul moyen est soit de prendre 2 adaptateurs serie et un cable croisé serie (très onereux comme tu l'as dit), soit d'acheter un cable spécifique (j'ai vu que ca existait) soit de le faire :
soit tu mets 2 µC USB que tu lies avec une liaison serie rapide (synchrone ou asynchrone)
soit tu prends un µC avec 2 voies serie et 2 adaptateurs USB/Serie. Dans nos produits, on utilise FTDI (USB232).

pour FTDI : les drivers emulent un port serie. donc limités aux vitesses standart mais au moins les drivcers sont fait...
Pour l'USB : des drivers existent. tu peux dialoguer bien plus vite mais c'est plus contraignant....

si c'est un cable déjà tout fait ( spécialement etudié pour faire du transfert) il faut que tu puisses acceder aux routines internes (DLL + Drivers) et là bon courage....
trexor
Messages postés
134
Date d'inscription
mercredi 9 mars 2005
Statut
Membre
Dernière intervention
17 octobre 2010

bonjour,
J'ai un petit souci car j'ai un pc portable sans port com, et je dois faire communiquer deux pc (j'envois une string d'un pc a un autre) ...peux t'on le faire via le port usb? (j'ai emprunter un cable usb avec adaptateur mais apparement le Cd d'install du cable/adaptateur ne possède pas de drivers pour simuler un port serie et ainsi communiquer via Mscomm)...existe til une solution de communication par l'usb m'evitant de faire un achat couteux de deux ports serie?
BarthOlivier
Messages postés
132
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
27 novembre 2012
1
j'ai trouvé un site où tu peux le trouver....

http://www.alecmcnamara.freeserve.co.uk/picnetusb/

Voila bonne prog... L'USB c'est passionnant, mais assez rigoureux et parfois tordu (souvent meme!!! Merci billou )
BarthOlivier
Messages postés
132
Date d'inscription
mercredi 6 mars 2002
Statut
Membre
Dernière intervention
27 novembre 2012
1
pour microchip :

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1335&dDocName=en010168

sinon :

http://www.thesycon.de/usbio/eng/usbio.htm

apparament il n'est plus gratuit....

Demain sur mon poste,si j'y pense, je le recupererai et le mettrai en ligne.....


Pour le code... Merci Proger, ca fonctionne très bien et c'est bien plus rapide.... Quand on connait, ca vas tout de suite mieux....
tmcuh
Messages postés
463
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
18 avril 2009

salut bartholivier... tu serais donner le lien de chez microship, car cà fait 20 minutes que je cherche , pas moyen de trouver. merci

sinon pour le code, comme tu dis c'est bourrin. Maintenant je vois pas l'utilité d'écrire et de relire sur le disque mais bon. Proger en a fait une belle démonstration, car perso j'utilise tjrs le mid pour décomposer les chaines.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.