Advertisement
6677

Hello World in CAN - Energia - TM4C1294NCPDT

Jul 25th, 2014
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.54 KB | None | 0 0
  1. #define PART_TM4C1294NCPDT
  2. #include "driverlib/pin_map.h"
  3. #include "driverlib/sysctl.c"
  4. #include "driverlib/gpio.h"
  5. #include "driverlib/can.h"
  6. #include <stdio.h>
  7.  
  8. const uint8_t msgdata[] = {0xDE, 0xAD, 0xBE, 0xEF, 0x59};
  9.  
  10. boolean state = false;
  11. void setup()
  12. {
  13.   pinMode(PN_0, OUTPUT);
  14.   Serial.begin(9600);
  15.   Serial.println("CAN init-");//printf("CAN init-\n");
  16.   SysCtlPeripheralEnable(SYSCTL_PERIPH_CAN0);//SysCtlPeripheralEnable(SYSCTL_PERIPH_CAN0);
  17.   SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);//SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
  18.   GPIOPinConfigure(GPIO_PA1_CAN0TX);//GPIOPinConfigure(GPIO_PB5_CAN0TX);
  19.   GPIOPinConfigure(GPIO_PA0_CAN0RX);//GPIOPinConfigure(GPIO_PE4_CAN0RX);
  20.   GPIOPinTypeCAN(GPIO_PORTA_BASE, GPIO_PIN_0);//GPIOPinTypeCAN(GPIO_PORTB_BASE, GPIO_PIN_5);
  21.   GPIOPinTypeCAN(GPIO_PORTA_BASE, GPIO_PIN_1);//GPIOPinTypeCAN(GPIO_PORTE_BASE, GPIO_PIN_4);
  22.  
  23.   CANInit(CAN0_BASE);
  24.   uint32_t myBitrate = CANBitRateSet(CAN0_BASE, SysCtlClockGet(), 250000);
  25.   Serial.print("Bitrate: ");Serial.println(myBitrate);//printf("Bitrate: %lu\n", myBitrate);
  26.   // Create a CAN outbound message
  27.   tCANMsgObject mobj;
  28.  
  29.   mobj.ui32MsgID = 0x59;  // Standard Identifier, 11-bits
  30.   mobj.ui32Flags = 0;
  31.   mobj.ui32MsgLen = 5;
  32.   mobj.pui8MsgData = (uint8_t *)&msgdata[0];
  33.   CANMessageSet(CAN0_BASE, 1, &mobj, MSG_OBJ_TYPE_TX);
  34.   Serial.print("Transmitting 5 bytes to 0x59-");
  35.   CANEnable(CAN0_BASE);
  36.   Serial.println("Success!!!");
  37. }
  38.  
  39. void loop() {
  40.   state = !state;
  41.   digitalWrite(PN_0, state);
  42.   Serial.print(".");
  43.   delay(1000);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement