Included Files
- #include </usr/avr/include/string.h>
- #include <nut/include/sys/heap.h>
- #include <nut/include/sys/thread.h>
- #include <nut/include/sys/event.h>
- #include <nut/include/sys/atom.h>
- #include <nut/include/sys/timer.h>
- #include <nut/include/sys/semaphore.h>
- #include <nut/include/sys/nutconfig.h>
- #include <nut/include/dev/irqreg.h>
- #include <nut/include/dev/can_dev.h>
- #include <nut/include/dev/sja1000.h>
- #include <nut/include/cfg/arch/avr.h>
Preprocessor definitions
#define SJA_SIGNAL sig_INTERRUPT7
#define SJA_EICR EICRB
#define SJA_SIGNAL_BIT 7
#define CAN_BufSize 64
struct _CANBuffer
struct _CANBuffer
|
|
{
|
|
CANFRAME* dataptr;
|
|
u_short size;
|
|
u_short datalength;
|
|
u_short dataindex;
|
|
SEM empty;
|
|
SEM full;
|
|
}
|
|
typedef struct _CANBuffer CANBuffer
CANINFO dcb_sja1000
volatile u_short sja_base
CANBuffer CAN_RX_BUF
CANBuffer CAN_TX_BUF
IFCAN ifc_sja1000
NUTDEVICE devSJA1000
u_short CANBufferFree ( CANBuffer* buffer )
CANFRAME CANBufferGet ( CANBuffer* buffer )
CANFRAME CANBufferGetMutex ( CANBuffer* buffer )
void CANBufferInit ( CANBuffer* buffer, u_short size )
void CANBufferPut ( CANBuffer* buffer, CANFRAME* data )
void CANBufferPutMutex ( CANBuffer* buffer, CANFRAME* data )
void CAN_Tx ( void* arg )
int SJAInit ( NUTDEVICE* dev )
u_char SJAInput ( NUTDEVICE* dev, CANFRAME* frame )
void SJAOutput ( NUTDEVICE* dev, CANFRAME* frame )
inline u_char SJARxAvail ( NUTDEVICE* dev )
void SJARxFrame ( CANFRAME* CAN_frame )
void SJASetAccCode ( NUTDEVICE* dev, u_char* ac )
void SJASetAccMask ( NUTDEVICE* dev, u_char* am )
u_char SJASetBaudrate ( NUTDEVICE* dev, u_long baudrate )
void SJATxFrame ( CANFRAME* CAN_frame )
inline u_char SJATxFree ( NUTDEVICE* dev )
static void SJAInterrupt ( void* arg )