2019-07-20 13:40发布
yuanxinfei 发表于 2016-1-14 10:59 can接收不都是用中断接收的吗,你这各没看懂。。。 中断部分:void CAN1_RX0_IRQHandler(void) {
最多设置5个标签!
while(1)
{
key=KEY_Scan(0);
if(key==KEY0_PRES)//KEY0°′ÏÂ,·¢Ëíò»′Îêy¾Y
{
for(i=0;i<8;i++)
{
canbuf[i]=cnt+i;//ìî3ä·¢Ëí»o3åÇø
printf("TX:canbuf[%d]=%d ",i,canbuf[i]);
}
res=CAN1_Send_Msg(canbuf,8);//·发送
if(res)
printf("TX:fail "); //失败
else
printf("TXk "); //成功
}
key=Can_Receive_Msg(canbuf);
printf("RX:key=%d ",key);
if(key)//½óêÕμ½óDêy¾Y
{
printf("receive OK ");
for(i=0;i<key;i++)
{
if(i<4)
printf("RX:canbuf[%d]=%d ",i,canbuf[i]);
else
printf("RX:canbuf[%d]=%d ",i,canbuf[i]);
}
printf("end ");
}
这些都没问题的,两个板子环回正常,但是CANH--CANH,CANL--CANL时候,判断库函数,数据发送出去了,但是端口并没用变化,说明数据没发到另外一个板子的接收器那里
一周热门 更多>