OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4256|回复: 4

CAN通讯实验(接收错误)求助!!!

[复制链接]

4

主题

10

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2018-2-7
在线时间
6 小时
发表于 2018-5-3 16:45:12 | 显示全部楼层 |阅读模式
15金钱
正点原子提供的F429的CAN通讯试验历程,我删掉了关于LCD的代码(因为我没有用LCD显示屏),想通过LED的闪烁来检测主板是否能接收到数据,但LED灯是始终没有熄灭
我把程序烧到主板后把它和周立功的CAN分析仪连在一起,按下按键Key0后分析仪能收到主板发来的数据,但是用分析仪给主板发数据,主板的LED没有熄灭,应该是没有接受到数据,也就是if(key)始终为零
其他的代码我都没动过,CAN1_Receive_Msg(canbuf2)函数是例程中原来就写好的
下面是我改过的main函数代码,求大家帮我看看问题,谢谢了

int main(void)
{
    u8 key,res,i=0,data[8]= {0};
    u8 canbuf1[8],canbuf2[8];
    HAL_Init();                     //初始化HAL库   
    Stm32_Clock_Init(360,25,2,8);   //设置时钟,180Mhz
    delay_init(180);                //初始化延时函数
    uart_init(115200);              //初始化USART
    LED_Init();                     //初始化LED
    KEY_Init();                     //初始化按键
    CAN1_Mode_Init(CAN_SJW_1TQ,CAN_BS2_6TQ,CAN_BS1_8TQ,12,CAN_MODE_NORMAL); //CAN初始化,波特率250Kbps
    HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET); //LED0对应引脚PB1拉低,亮
    while(1)
    {
        key=KEY_Scan(0);
        if(key==KEY0_PRES)//KEY0按下,发送一次数据
        {
               for(i=0;i<8;i++)
               {
                    canbuf1[i]=i;
               }
               res=CAN1_Send_Msg(canbuf1,8);//发送8个字节
        }


        key=CAN1_Receive_Msg(canbuf2);
        if(key) //接收到有数据
       {
             HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);   //LED1对应引脚PB0拉高,灭
             delay_ms(500);                                      //延时500ms
        }
        delay_ms(10);  
    }      
}

最佳答案

查看完整内容[请看2#楼]

HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET); //LED0对应引脚PB1拉低,亮 HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET); //LED1对应引脚PB0拉高,灭 你这个灯不是设置的同一个灯。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

2

帖子

0

精华

初级会员

Rank: 2

积分
50
金钱
50
注册时间
2016-4-8
在线时间
7 小时
发表于 2018-5-3 16:45:13 | 显示全部楼层
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET); //LED0对应引脚PB1拉低,亮
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);   //LED1对应引脚PB0拉高,灭
你这个灯不是设置的同一个灯。
回复

使用道具 举报

4

主题

10

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2018-2-7
在线时间
6 小时
 楼主| 发表于 2018-5-3 16:56:09 | 显示全部楼层
谁能帮我我请谁吃饭啊,想吃啥都行啊
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-5-4 01:24:42 | 显示全部楼层
仿真看下,确实收到数据没?
回复

使用道具 举报

3

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
102
金钱
102
注册时间
2018-8-13
在线时间
27 小时
发表于 2018-8-13 19:39:40 | 显示全部楼层
楼主问题解决了嘛,我今天也遇到了相同的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 07:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表