首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

[求助]GZ16的发送状态控制请教

[求助]GZ16的发送状态控制请教

设置好ID和数据后启动发送位TXE0=1;后此位自动变为0等待变为1就是发送成功;但却一直为0,请教还需要注意什么?这种操作对吗?  


谢谢! 

CANBUS 电液控制汽车电子,希望和大家交朋友! http://www.51mcu.cn
void CAN_Init(void)
{
/* CMCR0: ??=0,??=0,??=0,SYNCH=0,TLNKEN=0,SLPAK=0,SLPRQ=0,SFTRES=1 */
CMCR0 = 1; /* CAN reset */
/* CMCR1: ??=0,??=0,??=0,??=0,??=0,LOOPB=0,WUPM=0,CLKSRC=0 */
CMCR1 = 0; //ʱÖÓԴΪÍⲿ¾§Õñ/2 = 2Mhz

CIDAC_IDAM = 0; //32λ½ÓÊÕ¹ýÂËÆ÷
CIDAR = 0x00000000; //Set the acceptance code
CIDMR = 0xFFFFFFFF; //Set the acceptance mask

CBTR0 = 0x43;
CBTR1 = 0xA3; //²¨ÌØÂÊΪ62.5K

CMCR0 = 0x00; //°ÑCANÄ£¿éÉèÖÃΪÊý¾ÝÊäÈëÊä³ö״̬
CRIER = 0xFF; //CAN½ÓÊÕÖжÏʹÄÜ
}
void CAN_SendFrame(byte BufferNum,dword MessageID,byte FrameType,byte Length,byte * Data)
{
byte i; //ÁÙʱ±äÁ¿
byte bufmask=((word)1< //装载ID,Length,Data
.......

CTFLG = bufmask; //启动发送
}
返回列表