IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

Envoi d'une variable sur un bus CAN


Sujet :

Réseau C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Octobre 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2013
    Messages : 50
    Par défaut Envoi d'une variable sur un bus CAN
    Bonjour,

    Je suis débutant en C et je souhaiterai envoyer un message CAN tout les 10ms contenant une donnée X sur 64 bit (data 64 bit + DLC 8 + CRC .... arbitrage) sur un bus CAN-HS (500kbit/sec)

    jai lu plusiueres tutoriel mais j'en ne comprend pas la logique, quel serait le code C qui permet cette insertion ?


    Merci pour votre aide

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Sur linux/unix, ca devrait se résumer à:
    • ouvrir le fichier correspondant au bus CAN ("/dev/???")
    • écrire dedans au bon rythme (thread et sleep?)
    • fermer le fichier.

    J'imagine qu'il pourrait y avoir une étape d'initialisation du bus CAN, sans certitude.

    Pour windows, j'imagine qu'un google(msdn api CAN) devrait suffire

  3. #3
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 282
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 282
    Par défaut
    Sur quel système, avec quelle interface?


    Delias

  4. #4
    Membre confirmé
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Octobre 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2013
    Messages : 50
    Par défaut
    oui dsl, ....... c'est sous Windows 10 sous Visual studio 10 SP1

    le code fonctionnera avec CANalyzer afin de vérifier si la variable est bien envoyée sur le bus CAN, avec les bonnes valeurs

  5. #5
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 548
    Par défaut
    Bonjour,

    Je pense que le plus simple reste a utilisé les API dédiée au BUS CAN de votre plateforme. Cependant vous avez à votre disposition l'API SocketCAN qui est une implémentation de protocoles CAN pour les systèmes GNU/Linux Unix. basé sur les API Socket qui permet d'outre-passée la plupart des limitations (un driver spécifique pour un matériel spécifique avec des fonctionnalités ou des possibilités limitées) et vous permettant d'utiliser "certaine" fonctionnalités possibles comme l'utilisation des protocole réseaux , les files d'attente etc.. "à titre d'exemple". Voici des liens pour télécharger l'API SocketCAN ou CanLinux.

    Si vous êtes sur une plateforme Windows, vous avez la possibilité de recompiler les sources avec Cygwin et vous aurez un fichier exécutable qui fonctionnera pour la/les plateforme(s) Windows souhaité où contacter le fabricant du matériel afin qu'ils puissent vos fournis API et la documentation nécessaire pour la réalisation de votre projets
    à bientôt

  6. #6
    Membre confirmé
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Octobre 2013
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2013
    Messages : 50
    Par défaut
    Merci Samba, à la base je cherche à la devolopper moi même en language bas niveau (C/C++) et d'utiliser l'interface CANalyzer sans passer par d'autres API

    Nom : Untitled.png
Affichages : 2708
Taille : 96,3 Ko

Discussions similaires

  1. Réponses: 11
    Dernier message: 07/10/2006, 18h37
  2. Réponses: 2
    Dernier message: 09/09/2006, 21h08
  3. ajouter une variable sur un control
    Par gijy dans le forum MFC
    Réponses: 15
    Dernier message: 21/03/2006, 18h18
  4. Envoi d'une variable en shell script sur php
    Par Ponchi dans le forum Langage
    Réponses: 3
    Dernier message: 07/02/2006, 13h54
  5. Utilisation d'une variable sur plusieurs unités
    Par Yamaneko dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2003, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo