[elektro] C30 dspic CAN library ...kicsit nem értem
Ferenc Toth
toferi2 at freemail.hu
Sat Feb 5 15:13:12 CET 2011
Sziasztok .
A gondom az ,hogy nem értem miért történik az ,hogy ha a C30 periph.library Can1SendMesseage() ét használom nem azt csinálja amit én szeretnék.Ha a helpben lévő példát írom a kontrollerbe akkor a kiadott üzenet ID-je 1E003038 és nem értem ez hogy jön neki ki.Ha standard IDt próbálok adni az jól működik ,de az EID az sehogy sem jön össze.Valaki foglalkozott már ezzel?
Itt a help:
3.10 CANxSendMessage
Function Prototype
void CAN1SendMessage(unsigned int sid,
unsigned long eid, unsigned char *data,
unsigned char datalen, char MsgFlag);
void CAN2SendMessage(unsigned int sid,
unsigned long eid, unsigned char *data,
unsigned char datalen, char MsgFlag);
Include
can.h
Description
This function writes data to be transmitted to TX registers, sets the data length and initiates the transmission.
Arguments
sid - The 16-bit value to be written into CiTXnSID registers CAN_TX_SID(x), where x is the required SID value.
Substitute Remote Transmission Request
CAN_SUB_REM_TX_REQ
CAN_SUB_NOR_TX_REQ
Message ID Type
CAN_TX_EID_EN
CAN_TX_EID_DIS
eid - The 32-bit value to be written into CiTXnEID and CiTXnDLC registers CAN_TX_EID(x), where x is the required EID value.
Remote Transmission Request
CAN_REM_TX_REQ
CAN_NOR_TX_REQ
data - The pointer to the location where data to be transmitted is stored.
datalen - The number of bytes of data to be transmitted.
MsgFlag - The buffer number ('0', '1' or '2') from where data is transmitted.
If '1', the data is written into CiTX1B1 to CiTX1B4.
If '2', the data is written into CiTX2B1 to CiTX2B4.
If '0' or otherwise, the data is written into CiTX0B1 to CiTX0B4.
Return Value
None.
Remarks:
This function writes the identifier values into SID and EID registers, data to be transmitted into TX register, sets the data length and initiates transmission by setting TXREQ bit.
Source File:
CAN1SendMessage.c
CAN2SendMessage.c
Code Example
CAN1SendMessage((CAN_TX_SID(1920)) &
(CAN_TX_EID_EN) & (CAN_SUB_NOR_TX_REQ),
(CAN_TX_EID(12344)) & (CAN_NOR_TX_REQ),
Txdata, datalen, tx_rx_no);
More information about the Elektro
mailing list