api / mbed / trunk / CAN
CANMessage
class CANMessage : public CAN_Message
| CANMessage | |
| Functions | |
| CANMessage | Creates empty CAN message. |
| CANMessage | Creates CAN message with specific content. |
| CANMessage | Creates CAN remote message. |
| Variables | |
| id | The message id. |
| data | Space for 8 byte payload. |
| len | Length of data in bytes. |
| format | Defines if the message has standard or extended format. |
| type | Defines the type of a message. |
| CAN | A can bus client, used for communicating with can devices |
| Functions | |
| CAN | Creates an CAN interface connected to specific pins. |
| frequency | Set the frequency of the CAN interface |
| write | Write a CANMessage to the bus. |
| read | Read a CANMessage from the bus. |
| reset | Reset CAN interface. |
| monitor | Puts or removes the CAN interface into silent monitoring mode |
| rderror | Returns number of read errors to detect read overflow errors. |
| tderror | Returns number of write errors to detect write overflow errors. |
| attach | Attach a function to call whenever a CAN frame received interrupt is generated. |
CAN
class CAN : public Base
A can bus client, used for communicating with can devices
| Functions | |
| CAN | Creates an CAN interface connected to specific pins. |
| frequency | Set the frequency of the CAN interface |
| write | Write a CANMessage to the bus. |
| read | Read a CANMessage from the bus. |
| reset | Reset CAN interface. |
| monitor | Puts or removes the CAN interface into silent monitoring mode |
| rderror | Returns number of read errors to detect read overflow errors. |
| tderror | Returns number of write errors to detect write overflow errors. |
| attach | Attach a function to call whenever a CAN frame received interrupt is generated. |
CAN
CAN( PinName rd, PinName td )
Creates an CAN interface connected to specific pins.
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);
}
}Variables
| rd | read from transmitter |
| td | transmit to transmitter |
class CANMessage : public CAN_Message
Creates empty CAN message.
CANMessage()
The message id.
unsigned int id
Space for 8 byte payload.
unsigned char data[8]
Length of data in bytes.
unsigned char len
Defines if the message has standard or extended format.
CANFormat format
Defines the type of a message.
CANType type
A can bus client, used for communicating with can devices
class CAN : public Base
Creates an CAN interface connected to specific pins.
CAN( PinName rd, PinName td )
Set the frequency of the CAN interface
int frequency( int hz )
Write a CANMessage to the bus.
int write( CANMessage msg )
Read a CANMessage from the bus.
int read( CANMessage & msg )
Reset CAN interface.
void reset()
Puts or removes the CAN interface into silent monitoring mode
void monitor( bool silent )
Returns number of read errors to detect read overflow errors.
unsigned char rderror()
Returns number of write errors to detect write overflow errors.
unsigned char tderror()
Attach a function to call whenever a CAN frame received interrupt is generated.
void attach( void (*fptr)(void) )
