Я назначен проекту в моей лаборатории, чтобы реализовать протокол CAN на ARM 7.нужны учебник по протоколу CAN
Я искал некоторые учебники и примеры кода, но все выглядит так много комплексов, что я думаю, что я должен получить некоторая помощь в кодировании. Может ли кто-нибудь объяснить мне базовую кодировку передатчика и приемника на любой плате ARM?
Код отправителя следующий. Я использовал вопросительные знаки, где я не понимаю полного значения выражения.
#include <lpc23xx.h>
#include "type.h
#include "can.h"
#include <LPC23xx.H>
CAN_MSG MsgBuf_RX1,MsgBuf_RX2; // TX and RX Buffers for CAN message
volatile DWORD CAN1RxDone, CAN2RxDone;
int main(void)
{
DWORD tempbuf1,tempbuf2;
int current;
FIO2DIR=0x000000FF;
CAN_Init(BITRATE100K28_8MHZ);
MsgBuf_RX2.Frame = 0x0;
MsgBuf_RX2.MsgID = 0x0;
MsgBuf_RX2.DataA = 0x0;
MsgBuf_RX2.DataB = 0x0;
CAN_SetACCF(ACCF_BYPASS);
while (1)
{
while (!(CAN2GSR & (1 << 0)))
;
if (CAN2RxDone == TRUE)
{
tempbuf1 = MsgBuf_RX2.DataA; // Data A has 32 bits, of which only the
// first 16 bits are actual data
tempbuf2 = (tempbuf1 & 0x0000ffff); //??
current = tempbuf2;
if ((current/3) >= 25)
FIO2SET |= 0x00000001; ///??
}
CAN2RxDone = FALSE;
if (MsgBuf_RX2.Frame & (1 << 10)) //?
{
MsgBuf_RX2.Frame &= ~(1 << 10); //?
}
}
}
его lpc2368 совет, состоящий из arm7tdmi-s .i использовал keil uvision4 и flashmagic, и у меня тоже есть программа-образец. Но я не могу полностью это понять, так как я прочитал техническое описание lpc2368, мне трудно понять. Поэтому я решил сделать только программу, которая может использовать протокол для отправки 8 бит с одной платы на другую. – mrigendra
Характеристики платы легко доступны .. просто руководство пользователя google lpc2368 и техническое описание. – mrigendra
У меня есть мастер-подчиненная программа, если вы хотите посмотреть на нее, я могу опубликовать ее. – mrigendra