⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mod_regs_hcan.h

📁 ecos移植到R8H系列的源码。源码包来自http://www.cetoni.de/develop/develop_ecosh8s_en.html
💻 H
📖 第 1 页 / 共 2 页
字号:
#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 + -