打印
[MM32软件]

【MM32 eMiniBoard测评报告】+ 03.CAN问题解决,数据收发OK

[复制链接]
1051|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1. 首先感谢论坛网友提前指出了这个巨坑!
  在原理图上,错误之处为:MCU的CAN_TX 连接到了 CAN收发器芯片的 CAN_RX, MCU的CAN_RX 连接到了 CAN收发器芯片的 CAN_TX,
正确的连接方法为:
MCU_CAN_TX <----> CAN_TX,
MCU_CAN_RX <----> CAN_RX,
说干就干,直接把电阻跳线对换,只有这个办法了!

打开历程,默认是250k,参数稍微改一下,改成500k。
把接收发送历程融合在一起,哈哈,成功了!
main.c 如下:
CanTxMsg CAN_TX_Config ={TX_CANID,CAN_ID_STD,CAN_DATA_FRAME,8,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
CanPeliRxMsg CanPeliRxMsgStructure;

u8 user_can_mode = 0;

int main(void)   
{
        int keycnt = 0;
        delay_init();
        delay_ms(3000);
        LED_Init();               
        KEY_Init();
        uart_initwBaudRate(115200);
        printf("CAN (500k) demo with mask id is 0x172,0x236!\r\n");
        CANM_Init();
        //只可接收验收代码寄存器中的两个CAN_ID的帧
        CAN_Config(CAN_500K,StandardFrame_DoubleFilter,0x172,0x236,0xff,0xff);               
       
        while(1)
  {
         if(KEY4 == 0)
         {
                 delay_ms(30);
                 while(KEY4 == 0);        
                keycnt++;
                if(keycnt%2)
                {
                                LED2_ON();
                                LED4_OFF();
                                user_can_mode = 1; // r
                }
                else
                {
                                LED2_OFF();
                                LED4_ON();
                                user_can_mode = 0; // s
                }                
         }
         
          if(user_can_mode)
          {
                        Send_CANFrame(&CAN_TX_Config);                //发送一帧CAN数据
                        printf("CAN send data OK!\r\n");        //串口打印
                        delay_ms(300);
          }
          else
          {  
                        if(flag)                                                                                                                                       
                        {
                          flag = 0;
                          LED4_TOGGLE();
                          printf("CANID:0x%x Data:",CanPeliRxMsgStructure.ID);        //串口打印
                          for(int i = 0; i < 8; i++)                                                                                                                       
                          {
                                printf("%02x ",CanPeliRxMsgStructure.Data[i]);                //打印CAN报文内容
                          }
                          printf("\r\n");                                                                   //换行
                        }
          }
  }
  
   
}




期待您的点评!



使用特权

评论回复
沙发
caizhiwei|  楼主 | 2020-4-29 20:47 | 只看该作者

顶起来!

使用特权

评论回复
板凳
caizhiwei|  楼主 | 2020-4-29 20:48 | 只看该作者

sw2 开关要拨到靠近can芯片的那端!

使用特权

评论回复
地板
chongdongchen| | 2020-4-30 09:28 | 只看该作者
确实不该啊,厂家要引起重视了。
而且,这板子都没有做过验证就发布了??
感谢楼主分享!

使用特权

评论回复
5
hayden0| | 2020-4-30 10:15 | 只看该作者
chongdongchen 发表于 2020-4-30 09:28
确实不该啊,厂家要引起重视了。
而且,这板子都没有做过验证就发布了??
感谢楼主分享! ...

的确,板子都没有配套的例程!

使用特权

评论回复
6
huangzushuimd| | 2020-4-30 11:51 | 只看该作者
本帖最后由 huangzushuimd 于 2020-4-30 12:03 编辑
hayden0 发表于 2020-4-30 10:15
的确,板子都没有配套的例程!

可以使用MiniBoard的样例验证测试;

使用特权

评论回复
7
huangzushuimd| | 2020-4-30 11:56 | 只看该作者
本帖最后由 huangzushuimd 于 2020-4-30 12:31 编辑

上拨是连到板上的SPI FLASH和CAN,请参考如图修改CAN连线,去除R30,R31,R30,R31的pad 交叉飞线连接一下;或者把U3的PIN4 连接到CN9的PIN21, 把U3的PIN1连接到CN9的PIN22.

mb23_modify.jpg (459.92 KB )

修改方式

修改方式

使用特权

评论回复
8
hayden0| | 2020-4-30 13:34 | 只看该作者
huangzushuimd 发表于 2020-4-30 11:51
可以使用MiniBoard的样例验证测试;

我知道,但那是其他开发板的例程呀,不配套,要做部分修改,跟自己新建公车那个没什么两样了

使用特权

评论回复
9
uiint| | 2020-5-2 08:47 | 只看该作者
MM32 eMiniBoard

使用特权

评论回复
10
hellosdc| | 2020-5-2 08:47 | 只看该作者
自发自收实现了吗   

使用特权

评论回复
11
mituzu| | 2020-5-2 08:47 | 只看该作者
谢谢楼主的资料。   

使用特权

评论回复
12
suzhanhua| | 2020-5-2 08:47 | 只看该作者
CAN收发器芯片是什么呢   

使用特权

评论回复
13
xietingfeng| | 2020-5-2 08:47 | 只看该作者
稳定性怎么样呢   

使用特权

评论回复
14
isseed| | 2020-5-2 08:48 | 只看该作者
这个需要CAN电阻吗   

使用特权

评论回复
15
wangdezhi| | 2020-5-2 08:48 | 只看该作者
很给力 资料。      

使用特权

评论回复
16
biechedan| | 2020-5-2 08:48 | 只看该作者
         

使用特权

评论回复
17
chenci2013| | 2020-5-2 08:48 | 只看该作者
申请试试看,板子很棒。   

使用特权

评论回复
18
gygp| | 2020-5-2 08:48 | 只看该作者
给力啊,跟着楼主学习了。  

使用特权

评论回复
19
caizhiwei|  楼主 | 2020-5-8 09:41 | 只看该作者
isseed 发表于 2020-5-2 08:48
这个需要CAN电阻吗

电阻可以不要,直连也行

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

100

主题

853

帖子

11

粉丝