CAN Receive with STM32 F469NI Discovery LCD display board

Dependencies:   mbed LCD_DISCO_F469NI BSP_DISCO_F469NI

Committer:
Stefan_Sofijanic
Date:
Fri Feb 15 20:58:09 2019 +0000
Revision:
1:e5a8ef21e0db
Parent:
0:aa6b01316e93
CAN Receive with STM32 F469NI Discovery LCD display board

Who changed what in which revision?

UserRevisionLine numberNew contents of line
formulas 0:aa6b01316e93 1 /*#include "mbed.h"
formulas 0:aa6b01316e93 2 #include "LCD_DISCO_F469NI.h"
formulas 0:aa6b01316e93 3
formulas 0:aa6b01316e93 4 LCD_DISCO_F469NI lcd;
formulas 0:aa6b01316e93 5 DigitalOut led1(LED1);
formulas 0:aa6b01316e93 6 DigitalOut led2(LED2);
formulas 0:aa6b01316e93 7 CAN can1(PB_5, PB_13);
formulas 0:aa6b01316e93 8
formulas 0:aa6b01316e93 9 #define IrThermo_Addr (0x5A<<1)
formulas 0:aa6b01316e93 10 #define Tamb 0x06
formulas 0:aa6b01316e93 11 #define Tobj 0x07
formulas 0:aa6b01316e93 12
formulas 0:aa6b01316e93 13 uint32_t c1450=0,c1500=0,cnull=0;
formulas 0:aa6b01316e93 14 char brojac[50];
formulas 0:aa6b01316e93 15
formulas 0:aa6b01316e93 16 int main() {
formulas 0:aa6b01316e93 17 lcd.SetTextColor(LCD_COLOR_BLACK);
formulas 0:aa6b01316e93 18 lcd.SetFont(&Font24);
formulas 0:aa6b01316e93 19 lcd.DisplayStringAt(0,200,(uint8_t*)"Initialized",LEFT_MODE);
formulas 0:aa6b01316e93 20 //printf("main()\n");
formulas 0:aa6b01316e93 21 CANMessage msg;
formulas 0:aa6b01316e93 22 while(1) {
formulas 0:aa6b01316e93 23 //printf("loop()\n");
formulas 0:aa6b01316e93 24 if(can1.read(msg)) {
formulas 0:aa6b01316e93 25 char id[5];
formulas 0:aa6b01316e93 26 sprintf(id,"Id: %d",msg.id);
formulas 0:aa6b01316e93 27 char data[50];
formulas 0:aa6b01316e93 28 sprintf(data,"Data: %d",msg.data[0]);
formulas 0:aa6b01316e93 29 lcd.DisplayStringAt(0,0,(uint8_t*)id,LEFT_MODE);
formulas 0:aa6b01316e93 30 lcd.DisplayStringAt(0,30,(uint8_t*)data,LEFT_MODE);
formulas 0:aa6b01316e93 31 if(msg.id==1450){
formulas 0:aa6b01316e93 32 c1450++;
formulas 0:aa6b01316e93 33 sprintf(brojac,"1450 times: %d",c1450);
formulas 0:aa6b01316e93 34 lcd.DisplayStringAt(0,60,(uint8_t*)"Unit 1450 recognized",LEFT_MODE);
formulas 0:aa6b01316e93 35 lcd.DisplayStringAt(0,90,(uint8_t*)brojac,LEFT_MODE);
formulas 0:aa6b01316e93 36 }else if(msg.id==1500){
formulas 0:aa6b01316e93 37 c1500++;
formulas 0:aa6b01316e93 38 sprintf(brojac,"1500 times: %d",c1500);
formulas 0:aa6b01316e93 39 lcd.DisplayStringAt(0,60,(uint8_t*)"Unit 1500 recognized",LEFT_MODE);
formulas 0:aa6b01316e93 40 lcd.DisplayStringAt(0,120,(uint8_t*)brojac,LEFT_MODE);
formulas 0:aa6b01316e93 41 }else{
formulas 0:aa6b01316e93 42 cnull++;
formulas 0:aa6b01316e93 43 sprintf(brojac,"Null times: %d",cnull);
formulas 0:aa6b01316e93 44 lcd.DisplayStringAt(0,60,(uint8_t*)"Unit NOT recognized",LEFT_MODE);
formulas 0:aa6b01316e93 45 lcd.DisplayStringAt(0,150,(uint8_t*)brojac,LEFT_MODE);
formulas 0:aa6b01316e93 46 };
formulas 0:aa6b01316e93 47 //lcd.SetTextColor(LCD_COLOR_WHITE);
formulas 0:aa6b01316e93 48 //lcd.FillRect(0,0,300,100);
formulas 0:aa6b01316e93 49 //lcd.SetTextColor(LCD_COLOR_BLACK);
formulas 0:aa6b01316e93 50 };
formulas 0:aa6b01316e93 51 };
formulas 0:aa6b01316e93 52 };
formulas 0:aa6b01316e93 53 */