5786|16

45

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

STM32F205ZET6 单片机CAN1通讯程序无法通讯 [复制链接]

 
5芯积分
STM32F205ZET6单片机,使用PA11和PA12进行CAN通信,收发器无论是ISO1050还是TJA1050,都不成功,发送信息时,CAN_TransmitStatus函数一直返回Pending,请问是为什么啊?




另外,使用CAN分析仪——收发器——PA11,PA12连接时,单片机的PA11和PA12引脚是有波形的,,两个引脚都有方波,TXD上的波形密集些,RXD上面的好像只有一个低脉冲,占空比很高,


主要是使用ISO1050芯片通讯,但是就无法发送数据,也没有办法进入到接收终端之中,中断函数我自认为配置好了,和库函数的配置是一样的,


ISO1050 电路为:有120欧终端电阻,CAN_TX和CAN_RX接上拉电阻472,CANH和CANL之间有120欧终端电阻,并且各串接了一个零欧电阻,


大家交流交流?
此帖出自模拟电子论坛

最新回复

你这样说让我有点想骂人。。。。。,我之前就让你排除硬件问题,你告诉我的硬件没有问题。。。。。。。 我们这种控制,硬件是软件的基础,硬件都有问题,你的软件写的再牛逼,也没有用。。。。  详情 回复 发表于 2017-3-16 18:34
点赞 关注
个人签名mo_正_pei

回复
举报

4177

帖子

9

TA的资源

五彩晶圆(高级)

沙发
 
建议,先测试回环模式是否可以。。。。然后再使用正常模式。。。。。不知道相关配置代码是否可以贴出来,can模块的电路图是否可以贴出来
此帖出自模拟电子论坛

点评

贴出来了  详情 回复 发表于 2017-3-9 20:21
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
回环模式是可以的,就是通信两个点之间的通讯不行
main函数:
int main(void)
{

//&*******************************************
//以下程序段只是测试核心板上的指示灯能否正常亮起
  RCC_ClocksTypeDef RCC_Clocks;
  //&**** SysTick end of count event each 10ms *****&/
  RCC_GetClocksFreq(&RCC_Clocks);
  SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);
        NVIC_Config();
  LED_Config();
        CAN_Config();
        while(1)
        {
                CAN_Polling();
        }
}

void CAN_Config(void)
{
  GPIO_InitTypeDef  GPIO_InitStructure;
  /* CAN GPIOs configuration **************************************************/

  /* Enable GPIO clock */
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
            /* Connect CAN pins to AF11\12 */
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_CAN1);
  GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_CAN1);
        /* Enable CAN clock */
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);
       
         // Configure CAN RX and TX pins //
        //PA11 RX-上拉输入,PA12 TX-复用推挽输出//
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 |GPIO_Pin_12;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // 推挽输出
  GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP; //上拉输入
  GPIO_Init(GPIOA, &GPIO_InitStructure);
}


void CAN_Polling(void)
{
        uint32_t i=0;
  uint8_t TransmitMailbox=0;
       
/* CAN configuration ********************************************************/  
  /* CAN register init */
       
  CAN_DeInit(CAN1);

        CAN_StructInit(&CAN_InitStructure);
  /* CAN cell init */
       
  CAN_InitStructure.CAN_TTCM = DISABLE; //time triggered communication mode
  CAN_InitStructure.CAN_ABOM = DISABLE; //automatic bus-off management
  CAN_InitStructure.CAN_AWUM = DISABLE; //automatic wake-up mode
  CAN_InitStructure.CAN_NART = DISABLE; //non-automatic retransmission mode
  CAN_InitStructure.CAN_RFLM = DISABLE; //Receive FIFO Locked mode
  CAN_InitStructure.CAN_TXFP = ENABLE;  //transmit FIFO priority
  CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;
  CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;  //Specifies the maximum number of time quanta
       
        /*主板的时钟使用外部告诉时钟,25MHz,CAN clocked(APB1) at 30 MHz, set CAN Baudrate = 125KBps
        than, how to calculate the Tq*/  
//  CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;  //Specifies the number of time quanta in Bit Segment 1
//  CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq;  //Specifies the number of time quanta in Bit Segment 2
//  CAN_InitStructure.CAN_Prescaler = 16; // Specifies the length of a time quantum
//       
//  /* 主板的时钟使用外部高速时钟,25MHz Baudrate = 500 Kbps ,CAN clocked (APB1) at 30MHz*/
  CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
  CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq;
  CAN_InitStructure.CAN_Prescaler = 4;
       
  CAN_Init(CAN1, &CAN_InitStructure);

  /* CAN filter init */
  CAN_FilterInitStructure.CAN_FilterNumber = 0;
  CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;// CAN_FilterMode_IdList
  CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
  CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
  CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
  CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
  CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;

  CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0; //FIFO0
  CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
  CAN_FilterInit(&CAN_FilterInitStructure);
  
  /* Transmit Structure preparation */
  TxMessage.StdId = 0x00;  //standard ID
  TxMessage.ExtId = 0x1234;   //extend ID
  TxMessage.RTR = CAN_RTR_DATA;  //data frame
  TxMessage.IDE = CAN_ID_EXT;   //standard ID
  TxMessage.DLC = 2;  //length of data
        TxMessage.Data[0]= 0xDE;
        TxMessage.Data[1]= 0xCA;
       
  CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);  // finish sending Interrupt CAN_IT_TME, Enable FIFO 0 message pending Interrupt
        //CAN_Transmit(CAN1,&TxMessage);
       
        TransmitMailbox = CAN_Transmit(CAN1, &TxMessage);
//CAN_TransmitStatus 是transmit pending
        if((CAN_TransmitStatus(CAN1, TransmitMailbox)  ==  CAN_TxStatus_Ok))
        {
                GPIO_ResetBits(GPIOE, GPIO_Pin_3);
                GPIO_ResetBits(GPIOE, GPIO_Pin_2);
        }
  i = 0;
        //一定时间内不断发送,直到:1、发送成功==CANTXOK,2、i=0xFFFF
  while((CAN_TransmitStatus(CAN1, TransmitMailbox)  != CANTXOK ) && (i  !=  0xFFFF)) // CAN_TxStatus_Failed
  {
    i++;  //发送失败
                //GPIO_ResetBits(GPIOE, GPIO_Pin_2);
  }
  i = 0;
  while((CAN_MessagePending(CAN1, CAN_FIFO0) <1 ) && (i  !=  0xFFFF))
  {
    i++;  //MessagePending 不是FIFO 1,也不是FIFO 0
                //GPIO_ResetBits(GPIOE, GPIO_Pin_2);
  }
//        GPIO_ResetBits(GPIOE, GPIO_Pin_2);//发送失败
}
//
/**
  * @brief  Configures the NVIC for CAN.
  * @param  None
  * @retval None
  */
void NVIC_Config(void)
{
  NVIC_InitTypeDef  NVIC_InitStructure;
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
        NVIC_InitStructure.NVIC_IRQChannel=CAN1_RX0_IRQn;   //中断请求 CAN1_RX0_IRQn
  //the highest Priority
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;
// NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x1;
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  NVIC_Init(&NVIC_InitStructure);
}
此帖出自模拟电子论坛
 
个人签名mo_正_pei
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

4
 
huaiqiao 发表于 2017-3-9 20:03
建议,先测试回环模式是否可以。。。。然后再使用正常模式。。。。。不知道相关配置代码是否可以贴出来,ca ...

贴出来了
此帖出自模拟电子论坛

点评

楼主,您好,不好意思,刚出差回来。 针对你的程序,其实单单从结构上来说,代码整体感觉很乱,基本感觉就是一坨,堆起来的。我只是说事实,我没有抨击和打击或者批判你的意思。所以我个人希望,你能在代码的结构  详情 回复 发表于 2017-3-14 17:38
我只能回去帮你看,我在外地出差。  详情 回复 发表于 2017-3-9 21:05
 
个人签名mo_正_pei
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

5
 

我只能回去帮你看,我在外地出差。
此帖出自模拟电子论坛
 
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

6
 

楼主,您好,不好意思,刚出差回来。

针对你的程序,其实单单从结构上来说,代码整体感觉很乱,基本感觉就是一坨,堆起来的。我只是说事实,我没有抨击和打击或者批判你的意思。所以我个人希望,你能在代码的结构方面,习惯能稍稍的调整下。
PS:帖代码的时候,利用论坛的这个工具。(像我的话,我不想看一坨的东西,你如果能调整下,可以一段,一段的帖上来。这样,我才有那个耐心跟您好好讨论。这是实话,没有对您言语攻击)



另外,我需要说明的是,不管是你的ISO1050还是TJA1050,其中TJA1050我也用过,还有包括我们现在用的一款TI的3.3v供电的can芯片,其实can芯片在这个当中,按照我的理解,其实是做了个电平转化,就是把ttl电平转化成了can电平(显性电平和隐形电平)。所以用什么样的can芯片其实是无所谓的。

还有我给你一些附件,希望可以帮助您理解关于can的一些基本的概念和配置。

STM32 CAN Transfer base on Nulceo.pdf (1.01 MB, 下载次数: 79)

STM32CAN发送和接收过滤详解.pdf (252.93 KB, 下载次数: 54)

STM32-CAN滤波器、滤波屏蔽器设置详解.docx (89.17 KB, 下载次数: 54)

STM32CAN模块使用方法.pdf (116.04 KB, 下载次数: 53)

STM32-CAN总线使用说明.pdf (34.09 KB, 下载次数: 53)

STM32的CAN现场总线应用总结.doc (58.51 KB, 下载次数: 53)
此帖出自模拟电子论坛

点评

首先,很感谢你的热心批评指导,我以后会注意的了。现在我大概是确认了不是外围电路的问题,我是使用的核心板加底板的形式的,我使用核心板和另一个CAN收发器模块,TJA1050,也是无法收发,程序还是一直在发送的时候  详情 回复 发表于 2017-3-16 14:29
 
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

7
 
huaiqiao 发表于 2017-3-14 17:38
楼主,您好,不好意思,刚出差回来。

针对你的程序,其实单单从结构上来说,代码整体感觉很乱,基本感 ...

首先,很感谢你的热心批评指导,我以后会注意的了。现在我大概是确认了不是外围电路的问题,我是使用的核心板加底板的形式的,我使用核心板和另一个CAN收发器模块,TJA1050,也是无法收发,程序还是一直在发送的时候一直处于Pending,而且没有办法进入接收中断,但是其他的中断是正常的,比如定时器中断,,,这么说的话,我的核心板是没有问题的吧?但是程序为什么执行不下去?是不是CAN应用在STM32F205上的应用和在STM32F103的应用不一样?因为以前没有使用过205系列的。
此帖出自模拟电子论坛

点评

还有,你可以先测测回环模式,然后再来正常模式。  详情 回复 发表于 2017-3-16 14:59
楼主你搞错了,不是批评,也没有指导。我只是表达了个事实。乱的东西你也不会有耐心看的,我们将心比心。 无法进入接收中断,是不是你忘记配置nvic了,还是中断优先级跟其他中断的优先级打架呢? 还有gpio的配  详情 回复 发表于 2017-3-16 14:55
 
个人签名mo_正_pei
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

8
 
mo_正_pei 发表于 2017-3-16 14:29
首先,很感谢你的热心批评指导,我以后会注意的了。现在我大概是确认了不是外围电路的问题,我是使用的核 ...

楼主你搞错了,不是批评,也没有指导。我只是表达了个事实。乱的东西你也不会有耐心看的,我们将心比心。

无法进入接收中断,是不是你忘记配置nvic了,还是中断优先级跟其他中断的优先级打架呢?

还有gpio的配置上面,我用F405是如下的配置:
  1. GPIO_InitStructure.GPIO_Pin = CAN1_RX_GPIO_PIN| CAN1_TX_GPIO_PIN;
  2.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;                //复用功能
  3.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;                //推挽输出
  4.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;        //100MHz
  5.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;                //上拉
复制代码


还有,你需要再检查下,gpio是否调用复用函数。你是用can1还是can2这个一定要仔细核对。can的配置,过滤器的配置。我想我给你的资料里面都有介绍。
此帖出自模拟电子论坛
 
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

9
 
mo_正_pei 发表于 2017-3-16 14:29
首先,很感谢你的热心批评指导,我以后会注意的了。现在我大概是确认了不是外围电路的问题,我是使用的核 ...

还有,你可以先测测回环模式,然后再来正常模式。
此帖出自模拟电子论坛

点评

回环测试是可以的,能正确运行,回环测试改为Normal模式,需要注意些什么东西呢?  详情 回复 发表于 2017-3-16 15:17
 
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

10
 
这是主函数以及CAN的配置程序,见附件

代码.c

3.95 KB, 下载次数: 20

主函数以及CAN的配置程序

此帖出自模拟电子论坛

点评

楼主这个.C的 文件我们怎么看? 建议如图插入代码 [attachimg]289249[/attachimg]  详情 回复 发表于 2017-3-16 16:12
 
个人签名mo_正_pei
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

11
 
huaiqiao 发表于 2017-3-16 14:59
还有,你可以先测测回环模式,然后再来正常模式。

回环测试是可以的,能正确运行,回环测试改为Normal模式,需要注意些什么东西呢?
此帖出自模拟电子论坛

点评

我就是把 CAN1_Mode_Init(CAN_SJW_1tq,CAN_BS2_6tq, CAN_BS1_7tq,6,CAN_Mode_Normal),这个里面的参数改成了CAN_Mode_Normal模式啊。 还有如果你用TJA1050的话,我的电路是这样的。后来我们变成了3.3v的ti的片子  详情 回复 发表于 2017-3-16 16:01
 
个人签名mo_正_pei
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

12
 
本帖最后由 huaiqiao 于 2017-3-16 16:04 编辑
mo_正_pei 发表于 2017-3-16 15:17
回环测试是可以的,能正确运行,回环测试改为Normal模式,需要注意些什么东西呢?

我就是把 CAN1_Mode_Init(CAN_SJW_1tq,CAN_BS2_6tq, CAN_BS1_7tq,6,CAN_Mode_Normal),这个里面的参数改成了CAN_Mode_Normal模式啊。

还有如果你用TJA1050的话,我的电路是这样的。后来我们变成了3.3v的ti的片子了(不过我们增加了ESD器件)。




最后,我建议你看看原子和野火的程序,对比下,你哪个地方设置的不合适。


你如果设置的EX形式的id,也要在can分析仪中做如下的设置哦。


此帖出自模拟电子论坛
 
 
 
 

回复

9186

帖子

5

TA的资源

管理员

13
 
mo_正_pei 发表于 2017-3-16 15:00
这是主函数以及CAN的配置程序,见附件

楼主这个.C的 文件我们怎么看?
建议如图插入代码

此帖出自模拟电子论坛
加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
 
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

14
 
  1. int main(void)
  2. {
  3.   RCC_ClocksTypeDef RCC_Clocks;
  4. //&**** SysTick end of count event each 10ms *****&/
  5.   RCC_GetClocksFreq(&RCC_Clocks);
  6.   SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);
  7.   NVIC_Config();
  8.   LED_Config();
  9.   CAN_Config();
  10.         while(1)
  11.         {
  12.                 CAN_Trans();
  13.                 Delay(60);
  14.         }
  15. }


  16. void NVIC_Config(void)
  17. {
  18.   NVIC_InitTypeDef  NVIC_InitStructure;
  19. //NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  20.   NVIC_InitStructure.NVIC_IRQChannel=CAN1_RX0_IRQn;   //中断请求 CAN1_RX0_IRQn
  21.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0;
  22.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x1;
  23.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  24.   NVIC_Init(&NVIC_InitStructure);
  25. }


  26. void CAN_Config(void)
  27. {
  28.   GPIO_InitTypeDef  GPIO_InitStructure;
  29.        
  30.   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
  31. /* Connect CAN pins to AF9 */
  32.   GPIO_PinAFConfig(GPIOA, GPIO_PinSource11, GPIO_AF_CAN1);
  33.   GPIO_PinAFConfig(GPIOA, GPIO_PinSource12, GPIO_AF_CAN1);

  34. /* Configure CAN RX and TX pins */
  35. /* PA11 RX-上拉输入,PA12 TX-复用推挽输出*/
  36.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 |GPIO_Pin_12;
  37.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
  38.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  39.   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; // 推挽输出
  40.   GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP; //上拉输入
  41.   GPIO_Init(GPIOA, &GPIO_InitStructure);

  42.   RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE);
  43.        
  44.   CAN_DeInit(CAN1);

  45.   CAN_InitStructure.CAN_TTCM = DISABLE; //time triggered communication mode
  46.   CAN_InitStructure.CAN_ABOM = DISABLE; //automatic bus-off management
  47.   CAN_InitStructure.CAN_AWUM = DISABLE; //automatic wake-up mode
  48.   CAN_InitStructure.CAN_NART = DISABLE; //non-automatic retransmission mode
  49.   CAN_InitStructure.CAN_RFLM = DISABLE; //Receive FIFO Locked mode
  50.   CAN_InitStructure.CAN_TXFP = DISABLE;  //transmit FIFO priority
  51.   CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;

  52.        
  53. /*主板的时钟使用外部告诉时钟,25MHz,CAN clocked(APB1) at 30 MHz, set CAN Baudrate = 125KBps
  54.           than, how to calculate the Tq*/  
  55. /* 主板的时钟使用外部高速时钟,25MHz Baudrate = 500 Kbps ,CAN clocked (APB1) at 30MHz*/
  56.   CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;  //Specifies the maximum number of time quanta
  57.   CAN_InitStructure.CAN_BS1 = CAN_BS1_6tq;
  58.   CAN_InitStructure.CAN_BS2 = CAN_BS2_8tq;
  59.   CAN_InitStructure.CAN_Prescaler = 4;   //30 000000/(1+6+8)/4= 30 000000/(1+2+3)/10=
  60.   CAN_Init(CAN1, &CAN_InitStructure);


  61.   CAN_FilterInitStructure.CAN_FilterNumber = 0;
  62.   CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;// CAN_FilterMode_IdList
  63.   CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
  64.   CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
  65.   CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
  66.   CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
  67.   CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
  68.   CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0; //FIFO0
  69.   CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
  70.   CAN_FilterInit(&CAN_FilterInitStructure);
  71.        
  72.        
  73.   TxMessage.StdId = 0x04;  //standard ID
  74.   TxMessage.ExtId = 0x00;   //extend ID
  75.   TxMessage.RTR = CAN_RTR_DATA;  //data frame
  76.   TxMessage.IDE = CAN_ID_STD;   //standard ID
  77.   TxMessage.DLC = 1;  //length of data
  78.   TxMessage.Data[0] = 0xDE;
  79.        
  80.   CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);  // finish sending Interrupt CAN_IT_TME, Enable FIFO 0 message pending Interrupt
  81.        
  82. }

  83. void CAN_Trans(void)
  84. {
  85.   uint32_t i=0;
  86.   uint8_t TransmitMailbox=0;
  87. /* Transmit Structure preparation */
  88.   TransmitMailbox = CAN_Transmit(CAN1, &TxMessage);
  89. //CAN_Transmit(CAN1, &TxMessage);

  90.   i = 0;
  91. //一定时间内不断发送,直到:1、发送成功==CANTXOK,2、i !=0xFFFF
  92.   while((CAN_TransmitStatus(CAN1, TransmitMailbox)  != CANTXOK ) && (i  !=  0xFFFF)) // CAN_TxStatus_Failed
  93.   {
  94.     i++;  //发送失败
  95.   }
  96.   i = 0;
  97.   while((CAN_MessagePending(CAN1, CAN_FIFO0) <1 ) && (i  !=  0xFFFF))
  98.   {
  99.     i++;  //MessagePending 不是FIFO 1,也不是FIFO 0
  100.   }
  101. }
复制代码
此帖出自模拟电子论坛
 
个人签名mo_正_pei
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

15
 
解决了!!!!!!!!!!!!!!!我的天天老爷,收发器ISO1050,CANH,CANL那端没供电!!!!!!!!!!!!!!我真是猪到家了,因为底板电源种类比较多,没有认真检查,浪费了将近一周的时间,天啊!!!!!!!!!!!!!程序是没有问题的!!!!!!!!!!
此帖出自模拟电子论坛

点评

你这样说让我有点想骂人。。。。。,我之前就让你排除硬件问题,你告诉我的硬件没有问题。。。。。。。 我们这种控制,硬件是软件的基础,硬件都有问题,你的软件写的再牛逼,也没有用。。。。  详情 回复 发表于 2017-3-16 18:34
 
个人签名mo_正_pei
 
 
 

回复

45

帖子

0

TA的资源

一粒金砂(中级)

16
 
谢谢各位大哥
此帖出自模拟电子论坛
 
个人签名mo_正_pei
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

17
 
mo_正_pei 发表于 2017-3-16 18:26
解决了!!!!!!!!!!!!!!!我的天天老爷,收发器ISO1050,CANH,CANL那端没供电!!!!!!! ...

你这样说让我有点想骂人。。。。。,我之前就让你排除硬件问题,你告诉我的硬件没有问题。。。。。。。
我们这种控制,硬件是软件的基础,硬件都有问题,你的软件写的再牛逼,也没有用。。。。
此帖出自模拟电子论坛
 
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表