programme de lecture du volant

Dependencies:   LCD_DISCO_F746NG BSP_DISCO_F746NG

main.cpp

Committer:
ktaoudi
Date:
2021-04-16
Revision:
1:5da69fd135da
Parent:
0:3f67cbd56eee

File content as of revision 1:5da69fd135da:

#include "mbed.h"
#include "stm32746g_discovery_lcd.h"
#include "LCD_DISCO_F746NG.h"
#include <CAN.h>
CAN can(PB_8, PB_9);
LCD_DISCO_F746NG lcd;
DigitalIn bp1(PG_6);

int main()
{
    CANMessage msg;
    uint8_t text1[50];

    lcd.DisplayStringAt(0, LINE(1), (uint8_t *)"TEST CAN HS", CENTER_MODE);
    can.frequency(500000);
    int i = 0;
    bool bp1_old=1,bp1_new;
    
    char msgtosend[6];
    msgtosend[0]=0xFF;  //régime moteur
    msgtosend[1]=0xFF;  // 
    msgtosend[2]=0xFF;  //vitesse
    msgtosend[3]=0x00;  //
    msgtosend[4]=0x00;
    msgtosend[5]=0x00;
    
    while (1) {
        bp1_new=bp1;
        if ((bp1_new==0) && (bp1_old == 1)) {

           while(1)
            can.write(CANMessage(0x001, msgtosend, 6));
            
            
            if(can.read(msg)) {
                i++;
                sprintf((char *)text1,"ID: %x", msg.id);
                lcd.DisplayStringAt(18, LINE(2),(uint8_t *)text1, RIGHT_MODE);
                for(unsigned short i=0; i<5; i++) { //8 en ls
                    sprintf((char *)text1,"data: %x", msg.data[i]);
                    lcd.DisplayStringAt(18, LINE(3+i),(uint8_t *)text1, RIGHT_MODE);
                }
            }
        }

        bp1_old = bp1_new;

    }



}