MCP2515 接收不止数据8个字节的情况怎么办

qq_37834095 2019-05-18 12:41:16
当我发送一次数据后,看到中断标志寄存器 CANINTF,就会出现某个接收缓冲寄存器中断或者发送缓冲寄存器中断,错误寄存器也出现溢出;我把它们都清零后,再次发送 还是这样子呢;大家遇到过吗?或者有什么办法解决吗?谢谢
...全文
461 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_37834095 2019-05-23
  • 打赏
  • 举报
回复
恩,连续添加数据到列表的搞定了!谢谢
qq_37834095 2019-05-22
  • 打赏
  • 举报
回复
帮我回个帖子,过了好久都没人回复,谢谢 !https://bbs.csdn.net/topics/392562539
qq_37834095 2019-05-22
  • 打赏
  • 举报
回复
恩,那个问题,我解决,不知道什么原因。。系统不稳定吧!
列表都弄好了,目前只能够按一次添加一次;我还有个问题啊,有什么办法,把最新收到数据循环添加到列表呢?
也就是一直接收添加到列表的方法
赵4老师 2019-05-22
  • 打赏
  • 举报
回复
仅供参考:
#include <stdio.h>
char s[]="12-ab 4edd";
char *p;
int v,n,k;
void main() {
    p=s;
    while (1) {
        k=sscanf(p,"%2x%n",&v,&n);
        printf("k,v,n=%d,%02X,%d\n",k,(unsigned char)v,n);
        if (1==k) {
            p+=n;
        } else if (0==k) {
            printf("skip char[%c]\n",p[0]);
            p++;
        } else {//EOF==k
            break;
        }
    }
    printf("End.\n");
}
赵4老师 2019-05-21
  • 打赏
  • 举报
回复
先将所有接收到的字节保存到一个FIFO缓冲区内,每次仅从该缓冲区取需要的字节数。
qq_37834095 2019-05-21
  • 打赏
  • 举报
回复
还有个问题,我发现程序里的变量当做发送数据,没有问题;怎么界面的数据映射对象的有问题,其他的没问题呢?
界面的是字符串转16进制数据。请大佬们,帮忙啊,谢谢
qq_37834095 2019-05-21
  • 打赏
  • 举报
回复
啊,不是这样子啦,这是个协议的,是和硬件相关的。 目前这个问题解决了,但是当我在界面配置pdo的时候,怎么会出现中止码呀,说是映射对象不支持访问呢

qq_37834095 2019-05-21
  • 打赏
  • 举报
回复
啊,这个不是这样子的啦,赵老师,这是个协议的,和硬件相关的。
这个问题解决了

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧