请问CAN总线在软件设计时执行“发送报文”命令后,为什么要延时一段时间 点击:871 | 回复:1



宋伟

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 1回
  • 年度积分:0
  • 历史总积分:60
  • 注册:2006年9月07日
发表于:2007-02-12 14:02:00
楼主
请问CAN总线在软件设计时执行“发送报文”命令后,为什么要延时一段时间,

 if((n&0x40) == 0x40) /*设置判断远程桢*/
    {
     ah = n&0x0f;
        REG_TxBufinf = 0x80 + ah; 
         REG_TxBuffer1 = 0x00;
         REG_TxBuffer2 = 0x00;
         REG_TxBuffer3 = 0x11;
         REG_TxBuffer4 = 0x08;
         REG_TxBuffer5 = counter;
         counter++;
         REG_TxBuffer6 = 0x02;
         REG_TxBuffer7 = 0x03;
         REG_TxBuffer8 = 0x04;
          REG_TxBuffer9 = 0x05;
         REG_TxBuffer10 = 0x06;
         REG_TxBuffer11 = 0x07;
         REG_TxBuffer12 = 0x08;

         REG_COMMAND = 0x01;//发送报文命令

            delay1(290);//延时时间

为什么要有这个延时时间?



远 方

  • 精华:1帖
  • 求助:0帖
  • 帖子:18帖 | 401回
  • 年度积分:0
  • 历史总积分:561
  • 注册:2002年1月29日
发表于:2007-02-12 18:05:00
1楼
不太知道這個時間為什麼需要,通常我想是等待發送完成吧
如果你不延時等待發送完成,可能第二筆數據會覆蓋前一筆沒有發送完的數據,其實不用延時,可以檢測是否已發送完成。

热门招聘
相关主题

官方公众号

智造工程师