An attempt to offset the load and execute regions using the scatter file
« Back to documentation index
CAN Class Reference
A can bus client, used for communicating with can devices.
More...
#include <CAN.h >
Public Member Functions
CAN (PinName rd, PinName td)
Creates an CAN interface connected to specific pins.
int frequency (int hz)
Set the frequency of the CAN interface.
int write (CANMessage msg)
Write a CANMessage to the bus.
int read (CANMessage &msg)
Read a CANMessage from the bus.
void reset ()
Reset CAN interface.
void monitor (bool silent)
Puts or removes the CAN interface into silent monitoring mode.
unsigned char rderror ()
Returns number of read errors to detect read overflow errors.
unsigned char tderror ()
Returns number of write errors to detect write overflow errors.
void attach (void(*fptr)(void))
Attach a function to call whenever a CAN frame received interrupt is generated.
template<typename T >
void attach (T *tptr, void(T::*mptr)(void))
Attach a member function to call whenever a CAN frame received interrupt is generated.
Detailed Description
A can bus client, used for communicating with can devices.
Definition at line 67 of file CAN.h .
Constructor & Destructor Documentation
CAN
(
PinName
rd ,
PinName
td
)
Creates an CAN interface connected to specific pins.
Parameters:
rd read from transmitter
td transmit to transmitter
Example:
#include "mbed.h"
Ticker ticker;
DigitalOut led1(LED1);
DigitalOut led2(LED2);
CAN can1(p9, p10);
CAN can2(p30, p29);
char counter = 0;
void send() {
if (can1.write(CANMessage(1337, &counter, 1))) {
printf("Message sent: %d\n" , counter);
counter++;
}
led1 = !led1;
}
int main() {
ticker.attach(&send, 1);
CANMessage msg;
while (1) {
if (can2.read(msg)) {
printf("Message received: %d\n\n" , msg.data[0]);
led2 = !led2;
}
wait(0.2);
}
}
Definition at line 24 of file CAN.cpp .
Member Function Documentation
void attach
(
void(*)(void)
fptr )
Attach a function to call whenever a CAN frame received interrupt is generated.
Parameters:
fptr A pointer to a void function, or 0 to set as none
Definition at line 108 of file CAN.cpp .
void attach
(
T *
tptr ,
void(T::*)(void)
mptr
)
Attach a member function to call whenever a CAN frame received interrupt is generated.
Parameters:
tptr pointer to the object to call the member function on
mptr pointer to the member function to be called
Definition at line 175 of file CAN.h .
Set the frequency of the CAN interface.
Parameters:
hz The bus frequency in hertz
Returns: 1 if successful, 0 otherwise
Definition at line 32 of file CAN.cpp .
void monitor
(
bool
silent )
Puts or removes the CAN interface into silent monitoring mode.
Parameters:
silent boolean indicating whether to go into silent mode or not
Definition at line 56 of file CAN.cpp .
unsigned char rderror
(
)
Returns number of read errors to detect read overflow errors.
Definition at line 48 of file CAN.cpp .
Read a CANMessage from the bus.
Parameters:
Returns: 0 if no message arrived, 1 if message arrived
Definition at line 40 of file CAN.cpp .
Reset CAN interface.
To use after error overflow.
Definition at line 44 of file CAN.cpp .
unsigned char tderror
(
)
Returns number of write errors to detect write overflow errors.
Definition at line 52 of file CAN.cpp .
Write a CANMessage to the bus.
Parameters:
Returns: 0 if write failed, 1 if write was successful
Definition at line 36 of file CAN.cpp .