📄 mod_regs_hcan.h
字号:
#ifndef CYGONCE_MOD_REGS_HCAN_H
#define CYGONCE_MOD_REGS_HCAN_H
//==========================================================================
//
// mod_regs_hcan.h
//
// Hitchi Controller Area Network Register
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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 General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): Uwe Kindler
// Contributors: Uwe Kindler
// Date: 2004-11-03
//
//####DESCRIPTIONEND####
//
//==========================================================================
//==========================================================================
// DOXYGEN FILE HEADER
/// \file mod_regs_hcan.h
/// \brief Programable Pulse Generator Register definitions.
/// \author Uwe Kindler
/// \date 2004-11-03
//==========================================================================
//==========================================================================
// REGISTER ADDRESSES
//==========================================================================
//--------------------------------------------------------------------------
// HCAN 0
//
#define CYGARC_HCAN0_MCR 0xFFF800
#define CYGARC_HCAN0_GSR 0xFFF801
#define CYGARC_HCAN0_BCR 0xFFF802
#define CYGARC_HCAN0_MBCR 0xFFF804
#define CYGARC_HCAN0_TXPR 0xFFF806
#define CYGARC_HCAN0_TXCR 0xFFF808
#define CYGARC_HCAN0_TXACK 0xFFF80A
#define CYGARC_HCAN0_ABACK 0xFFF80C
#define CYGARC_HCAN0_RXPR 0xFFF80E
#define CYGARC_HCAN0_RFPR 0xFFF810
#define CYGARC_HCAN0_IRR 0xFFF812
#define CYGARC_HCAN0_IRRH 0xFFF812
#define CYGARC_HCAN0_IRRL 0xFFF813
#define CYGARC_HCAN0_MBIMR 0xFFF814
#define CYGARC_HCAN0_IMR 0xFFF816
#define CYGARC_HCAN0_IMRH 0xFFF816
#define CYGARC_HCAN0_IMRL 0xFFF817
#define CYGARC_HCAN0_REC 0xFFF818
#define CYGARC_HCAN0_TEC 0xFFF819
#define CYGARC_HCAN0_UMSR 0xFFF81A
#define CYGARC_HCAN0_LAFML 0xFFF81C
#define CYGARC_HCAN0_LAFMH 0xFFF81E
#define CYGARC_HCAN0_MC0 0xFFF820
#define CYGARC_HCAN0_MC1 0xFFF828
#define CYGARC_HCAN0_MC2 0xFFF830
#define CYGARC_HCAN0_MC3 0xFFF838
#define CYGARC_HCAN0_MC4 0xFFF840
#define CYGARC_HCAN0_MC5 0xFFF848
#define CYGARC_HCAN0_MC6 0xFFF850
#define CYGARC_HCAN0_MC7 0xFFF858
#define CYGARC_HCAN0_MC8 0xFFF860
#define CYGARC_HCAN0_MC9 0xFFF868
#define CYGARC_HCAN0_MC10 0xFFF870
#define CYGARC_HCAN0_MC11 0xFFF878
#define CYGARC_HCAN0_MC12 0xFFF880
#define CYGARC_HCAN0_MC13 0xFFF888
#define CYGARC_HCAN0_MC14 0xFFF890
#define CYGARC_HCAN0_MC15 0xFFF898
#define CYGARC_HCAN0_MD0 0xFFF8B0
#define CYGARC_HCAN0_MD1 0xFFF8B8
#define CYGARC_HCAN0_MD2 0xFFF8C0
#define CYGARC_HCAN0_MD3 0xFFF8C8
#define CYGARC_HCAN0_MD4 0xFFF8D0
#define CYGARC_HCAN0_MD5 0xFFF8D8
#define CYGARC_HCAN0_MD6 0xFFF8E0
#define CYGARC_HCAN0_MD7 0xFFF8E8
#define CYGARC_HCAN0_MD8 0xFFF8F0
#define CYGARC_HCAN0_MD9 0xFFF8F8
#define CYGARC_HCAN0_MD10 0xFFF900
#define CYGARC_HCAN0_MD11 0xFFF908
#define CYGARC_HCAN0_MD12 0xFFF910
#define CYGARC_HCAN0_MD13 0xFFF918
#define CYGARC_HCAN0_MD14 0xFFF920
#define CYGARC_HCAN0_MD15 0xFFF928
//--------------------------------------------------------------------------
// HCAN 1
//
#define CYGARC_HCAN1_MCR 0xFFFA00
#define CYGARC_HCAN1_GSR 0xFFFA01
#define CYGARC_HCAN1_BCR 0xFFFA02
#define CYGARC_HCAN1_MBCR 0xFFFA04
#define CYGARC_HCAN1_TXPR 0xFFFA06
#define CYGARC_HCAN1_TXCR 0xFFFA08
#define CYGARC_HCAN1_TXACK 0xFFFA0A
#define CYGARC_HCAN1_ABACK 0xFFFA0C
#define CYGARC_HCAN1_RXPR 0xFFFA0E
#define CYGARC_HCAN1_RFPR 0xFFFA10
#define CYGARC_HCAN1_IRR 0xFFFA12
#define CYGARC_HCAN1_IRRH 0xFFFA12
#define CYGARC_HCAN1_IRRL 0xFFFA13
#define CYGARC_HCAN1_MBIMR 0xFFFA14
#define CYGARC_HCAN1_IMR 0xFFFA16
#define CYGARC_HCAN1_IMRH 0xFFFA16
#define CYGARC_HCAN1_IMRL 0xFFFA17
#define CYGARC_HCAN1_REC 0xFFFA18
#define CYGARC_HCAN1_TEC 0xFFFA19
#define CYGARC_HCAN1_UMSR 0xFFFA1A
#define CYGARC_HCAN1_LAFML 0xFFFA1C
#define CYGARC_HCAN1_LAFMH 0xFFFA1E
#define CYGARC_HCAN1_MC0 0xFFFA20
#define CYGARC_HCAN1_MC1 0xFFFA28
#define CYGARC_HCAN1_MC2 0xFFFA30
#define CYGARC_HCAN1_MC3 0xFFFA38
#define CYGARC_HCAN1_MC4 0xFFFA40
#define CYGARC_HCAN1_MC5 0xFFFA48
#define CYGARC_HCAN1_MC6 0xFFFA50
#define CYGARC_HCAN1_MC7 0xFFFA58
#define CYGARC_HCAN1_MC8 0xFFFA60
#define CYGARC_HCAN1_MC9 0xFFFA68
#define CYGARC_HCAN1_MC10 0xFFFA70
#define CYGARC_HCAN1_MC11 0xFFFA78
#define CYGARC_HCAN1_MC12 0xFFFA80
#define CYGARC_HCAN1_MC13 0xFFFA88
#define CYGARC_HCAN1_MC14 0xFFFA90
#define CYGARC_HCAN1_MC15 0xFFFA98
#define CYGARC_HCAN1_MD0 0xFFFAB0
#define CYGARC_HCAN1_MD1 0xFFFAB8
#define CYGARC_HCAN1_MD2 0xFFFAC0
#define CYGARC_HCAN1_MD3 0xFFFAC8
#define CYGARC_HCAN1_MD4 0xFFFAD0
#define CYGARC_HCAN1_MD5 0xFFFAD8
#define CYGARC_HCAN1_MD6 0xFFFAE0
#define CYGARC_HCAN1_MD7 0xFFFAE8
#define CYGARC_HCAN1_MD8 0xFFFAF0
#define CYGARC_HCAN1_MD9 0xFFFAF8
#define CYGARC_HCAN1_MD10 0xFFFB00
#define CYGARC_HCAN1_MD11 0xFFFB08
#define CYGARC_HCAN1_MD12 0xFFFB10
#define CYGARC_HCAN1_MD13 0xFFFB18
#define CYGARC_HCAN1_MD14 0xFFFB20
#define CYGARC_HCAN1_MD15 0xFFFB28
#ifndef __ASSEMBLER__
//==========================================================================
// HCAN REGISTER STRUCTURE
//==========================================================================
struct st_hcan { // struct HCAN
union { // MCR
unsigned char BYTE; // Byte Access
struct { // Bit Access
unsigned char SLPME:1; // SLPME
unsigned char :1; //
unsigned char SLPM :1; // SLPM
unsigned char :2; //
unsigned char MSM :1; // MSM
unsigned char HALT :1; // HALT
unsigned char RST :1; // RST
} BIT; //
} MCR; //
union { // GSR
unsigned char BYTE; // Byte Access
struct { // Bit Access
unsigned char :4; //
unsigned char RSF :1; // RSF
unsigned char MSEF:1; // MSEF
unsigned char SRWF:1; // SRWF
unsigned char BOF :1; // BOF
} BIT; //
} GSR; //
union { // BCR
unsigned int WORD; // Word Access
struct { // Bit Access
unsigned char SJW:2; // SJW
unsigned char BRP:6; // BRP
unsigned char BSP:1; // BSP
unsigned char TS2:3; // TS2
unsigned char TS1:4; // TS1
} BIT; //
} BCR; //
union { // MBCR
unsigned int WORD; // Word Access
struct { // Bit Access
unsigned char MB7 :1; // MB7
unsigned char MB6 :1; // MB6
unsigned char MB5 :1; // MB5
unsigned char MB4 :1; // MB4
unsigned char MB3 :1; // MB3
unsigned char MB2 :1; // MB2
unsigned char MB1 :1; // MB1
unsigned char :1; //
unsigned char MB15:1; // MB15
unsigned char MB14:1; // MB14
unsigned char MB13:1; // MB13
unsigned char MB12:1; // MB12
unsigned char MB11:1; // MB11
unsigned char MB10:1; // MB10
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -