Fixer le baudrate d'un socket
Bonjour à tous,
Dans le cadre d'un de mes projets, je dois développer une application capable de lire un bus CAN et de réaliser un traitement selon les données lues.
Le problème est que l'outil est sensé pouvoir être utilisé à des baudrates différents selon le bus utilisé.
Je développe mon application en C, et donc j'utilise des sockets pour lire et envoyer des données sur le bus, et donc je me demandais si en utilisant par exemple la fonction IOCTL il y avait pas moyen de changer le baudrate de manière logicielle.
J'utilise un module mcp251x.
Voila, merci d'avance à ceux qui pourraient m'indiquer des pistes =) j'ai beau éplucher tous les headers à ma disposition je ne trouve pas grand chose :/
EDIT : j'ai vu dans le fichier header ioctl.h qu'il y avait une fonction qui permettait de communiquer avec le hardware notamment _IOW(type,nr,size) mais je galère un peu pour l'utiliser, est-ce que quelqu'un aurait déjà eu à s'en servir? D'après ce que j'ai compris elle permet de créer des nombres IOCTL, mais je comprends pas trop comment on peut envoyer des infos si le HW est pas au courant qu'on veut lui parler.. :/
sources : http://www.linuxtopia.org/online_books/Linux_Kernel_Module_Programming_Guide/x872.html
http://unix.superglobalmegacorp.com/Net2/newsrc/sys/ioctl.h.html
http://www.kernel.org/doc/Documentation/ioctl/ioctl-number.txt
1 pièce(s) jointe(s)
windev14 : utilisation de csp2GetDeviceId( )
j'arive à me connecter au port com5 (par cable usb)
comment utiliser ces fonctions en WINDEV 14
// long CSP2_API csp2GetDeviceId( char cDeviceId[8], long nMaxDeviceIdSz );
//
// Description: Get the device ID number from the OPN-2001
//
// Parameters: cDeviceId[8] is the buffer where the device ID is copied into
// nMaxDeviceIdSz is the maximum size of the szDeviceId buffer
//
// Important: In the cDeviceId buffer an Hex respresentation of the Device ID is placed
//
// Returns: 0L 0n success
// < 0L on failure
//
long CSP2_API csp2GetDeviceId( char cDeviceId[8], long nMaxDeviceIdSz );
++++++++++++++++++
// long CSP2_API csp2GetPacket( char szData[], long nBcrNr, long nMaxDataSz );
//
// Description: Get data that was stored in the internal buffer by the csp2ReadData function.
//
// Argument: szData[] buffer where the barcode data is stored in
// nBcrNr the wanted barcode number starting from 0L
// nMaxDataSz the maximum size of the szData buffer
//
// Returns: 0L on success
// < 0L on failure
//
long CSP2_API csp2GetPacket( char szData[], long nBcrNr, long nMaxDataSz );
++++++++++++++++++++
// long CSP2_API csp2ReadData( void );
//
// Description: Read all data from the OPN-2001 and store it in an
// internal buffer. To read data from the internal buffer use
// one of the functions below.
// * csp2GetPacket()
// * csp2GetDeviceId()
// Returns: >= 0L
The amount of barcodes that are collected
// < 0L on failure
long CSP2_API csp2ReadData( void );