CanFestival3.10最新版本的


CanFestival 3.10 是 CanFestival 最新版本了,CANOPEN协议必看的内家,支持WINDOWS,LINUX,ARM,单片机等,可以去官网看细节介绍,谢谢~
资源截图
代码片段和文件信息
/*
This file is part of CanFestival a library implementing CanOpen Stack.

Copyright (C): Edouard TISSERANT and Francis DUPIN
AT91 Port: Peter CHRISTEN

See COPYING file for copyrights details.

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License or (at your option) any later version.

This library is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not write to the Free Software
Foundation Inc. 59 Temple Place Suite 330 Boston MA  02111-1307  USA
*/

//#define DEBUG_WAR_CONSOLE_ON
//#define DEBUG_ERR_CONSOLE_ON

#include “can_AT91.h“
#include “canfestival.h“

void can_irq_handler(void);

unsigned char canInit(unsigned int bitrate)
/******************************************************************************
Initialize the hardware to receive CAN messages and start the timer for the
CANopen stack.
INPUT
OUTPUT
******************************************************************************/
{
  unsigned char i;
  AT91S_CAN_MB *mb_ptr = AT91C_base_CAN_MB0;

  // Enable CAN PIOs
  AT91F_CAN_CfgPIO();
  // Enable CAN Clock
  AT91F_CAN_CfgPMC();

  // Enable CAN Transceiver
  AT91F_PIOA_CfgPMC();

  // Init CAN Interrupt Source Level
  AT91F_AIC_ConfigureIt(AT91C_base_AIC // CAN base address
                        AT91C_ID_CAN // CAN ID
                        AT91C_AIC_PRIOR_HIGHEST // Max priority
                        AT91C_AIC_SRCTYPE_INT_HIGH_LEVEL // Level sensitive
                        can_irq_handler); // C Handler

  AT91F_AIC_EnableIt(AT91C_base_AIC AT91C_ID_CAN);

  if (bitrate <= 500)
  {
    // CANopen 10..500 kbit with 16 tq sample point is at 14 tq
    // all values are added to 1 by hardware
    // Resynchronisation jump width (SJW) = 1 tq
    // Propagation Time Segment (PRS) = 5 tq
    // Phase Segment 1 (PHS1) = 8 tq
    // Phase Segment 2 (PHS2) = 2 tq
    // Total = 16 tq
    AT91F_CAN_CfgBaudrateReg(AT91C_base_CAN
                             (AT91C_MASTER_CLOCK/16/1000/bitrate - 1) << 16 | 0x0471);
  }
  else
    return 0;

  // Enable CAN and Wait for WakeUp Interrupt
//  AT91F_CAN_EnableIt(AT91C_base_CAN AT91C_CAN_WAKEUP);
  AT91F_CAN_CfgModeReg(AT91C_base_CAN AT91C_CAN_CANEN);

  // Reset all mailsboxes (MBs) filters are zero (accept all) by clear all MB
  // Set the lower MBs as rx buffer
  for (i = 0; i < NB_RX_MB; i++ mb_ptr++)
  // Configure receive MBs as receive buffer last as receive overwrite
    AT91F_InitMailboxRegisters(mb_ptr
((i < (NB_RX_MB - 1)) ? AT91C_CAN_MOT_RX : AT91C_CAN_MOT_RXOVERWRITE)
| AT91C_CAN_PRIOR // Mailbox Mode Reg

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         173  2011-04-13 14:29  CanFestival-3-1041153c5fd2.hg_archival.txt
     文件        1299  2011-04-13 14:29  CanFestival-3-1041153c5fd2.hgignore
     文件         131  2011-04-13 14:29  CanFestival-3-1041153c5fd2.hgtags
     文件         123  2011-04-13 14:29  CanFestival-3-1041153c5fd2AUTHORS
     文件       24713  2011-04-13 14:29  CanFestival-3-1041153c5fd2CHANGES
     文件         382  2011-04-13 14:29  CanFestival-3-1041153c5fd2CONTRIBUTORS
     文件        1518  2011-04-13 14:29  CanFestival-3-1041153c5fd2COPYING
     文件        5608  2011-04-13 14:29  CanFestival-3-1041153c5fd2CanFestival-3.vc8.sln
     文件        6808  2011-04-13 14:29  CanFestival-3-1041153c5fd2CanFestival-3.vc8.vcproj
     文件       24381  2011-04-13 14:29  CanFestival-3-1041153c5fd2LICENCE
     文件        1587  2011-04-13 14:29  CanFestival-3-1041153c5fd2Makefile.in
     文件       28555  2011-04-13 14:29  CanFestival-3-1041153c5fd2configure
     文件         191  2011-04-13 14:29  CanFestival-3-1041153c5fd2debianREADME.Debian
     文件         178  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-devel.install
     文件         120  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-examples.install
     文件          79  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-objdictedit.install
     文件        1107  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-objdictedit.postinst
     文件         587  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-objdictedit.postrm
     文件          41  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-peak.install
     文件         905  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-peak.postinst
     文件        1032  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-peak.postrm
     文件          37  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-socket.install
     文件          38  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-virtual.install
     文件         905  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-virtual.postinst
     文件        1032  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancanfestival-virtual.postrm
     文件         206  2011-04-13 14:29  CanFestival-3-1041153c5fd2debianchangelog
     文件           2  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancompat
     文件        1325  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancontrol
     文件         335  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancontrol-peak_linux
     文件        1324  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancontrol-socket
     文件        1027  2011-04-13 14:29  CanFestival-3-1041153c5fd2debiancontrol-virtual
............此处省略388个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)