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

📄 co_nmte.h

📁 在pic单片机上实现canopen协议通讯
💻 H
字号:

/*****************************************************************************
 *
 * Microchip CANopen Stack (Network Management Error Communications Handler)
 *
 *****************************************************************************
 * FileName:        CO_NMTE.C
 * Dependencies:    
 * Processor:       PIC18F with CAN
 * Compiler:       	C18 02.30.00 or higher
 * Linker:          MPLINK 03.70.00 or higher
 * Company:         Microchip Technology Incorporated
 *
 * Software License Agreement
 *
 * The software supplied herewith by Microchip Technology Incorporated
 * (the "Company") is intended and supplied to you, the Company's
 * customer, for use solely and exclusively with products manufactured
 * by the Company. 
 *
 * The software is owned by the Company and/or its supplier, and is 
 * protected under applicable copyright laws. All rights are reserved. 
 * Any use in violation of the foregoing restrictions may subject the 
 * user to criminal sanctions under applicable laws, as well as to 
 * civil liability for the breach of the terms and conditions of this 
 * license.
 *
 * THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTIES, 
 * WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED 
 * TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 
 * PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE COMPANY SHALL NOT, 
 * IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR 
 * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
 *
 *
 * 
 * 
 *
 *
 * Author               Date        Comment
 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 * Ross Fosler			11/13/03	...	
 * 
 *****************************************************************************/



#ifndef	__CO_NMTE_H
#define	__CO_NMTE_H


#define NMTE_BOOT_SERVICE	_uNMTEState.bits.b0
#define NMTE_TMR_LOCAL_EN	_uNMTEState.bits.b1
#define NMTE_NODE_GUARD_EN	_uNMTEState.bits.b2



/*********************************************************************
 * Function:        void _CO_COMM_NMTE_HeartBeatAccessEvent(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Process access events to the heartbeat.
 *
 * Note:          	
 ********************************************************************/
void _CO_COMM_NMTE_HeartBeatAccessEvent(void);


/*********************************************************************
 * Function:        void _CO_COMM_NMTE_GuardTimeAccessEvent(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Process access events to the guard time.
 *
 * Note:          	
 ********************************************************************/
void _CO_COMM_NMTE_GuardTimeAccessEvent(void);


/*********************************************************************
 * Function:        void _CO_COMM_NMTE_GuardTimeAccessEvent(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Process access events to the life time factor.
 *
 * Note:          	
 ********************************************************************/
void _CO_COMM_NMTE_LifeFactorAccessEvent(void);



/*********************************************************************
 * Function:        void _CO_COMM_NMTE_Open(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Open the NMTE endpoint.
 *
 * Note:          	
 ********************************************************************/
void _CO_COMM_NMTE_Open(void);


/*********************************************************************
 * Function:        void _CO_COMM_NMTE_Close(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Close the NMTE endpoint.
 *
 * Note:          	
 ********************************************************************/
void _CO_COMM_NMTE_Close(void);


/*********************************************************************
 * Function:        void _CO_COMM_NMTE_RXEvent(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        This is the receive event handler for the NMTE
 *					endpoint. 
 *
 * Note:          	This is only used for nodeguard.
 ********************************************************************/
void _CO_COMM_NMTE_RXEvent(void);


/*********************************************************************
 * Function:        void _CO_COMM_NMTE_TXEvent(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        This is the transmit event handler for the NMTE
 *					endpoint. Node guarding and heartbeat
 *					transmissions are handled.
 *
 * Note:          	
 ********************************************************************/
void _CO_COMM_NMTE_TXEvent(void);


/*********************************************************************
 * Function:        void _CO_COMM_NMTE_LSTimerEvent(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        This is the timer event handler for the NMTE
 *					endpoint. 
 *
 * Note:          	
 ********************************************************************/
void _CO_COMM_NMTE_LSTimerEvent(void);

extern UNSIGNED8 _uNMTEState;
extern UNSIGNED8 _uNMTELocalState;
extern UNSIGNED16 _uNMTEHeartBeat;
extern UNSIGNED16 _uNMTEGuardTime;
extern UNSIGNED8 _uNMTELifeFactor;



/*********************************************************************
 * Function:        void mNMTE_SetHeartBeat(UNSIGNED16 HeartBeat)
 *
 * PreCondition:    none
 *
 * Input:       	UNSIGNED16 HeartBeat
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Set the heartbeat time. 
 *
 * Note:          	
 ********************************************************************/
#define mNMTE_SetHeartBeat(HeartBeat)	_uNMTEHeartBeat.word = HeartBeat;


/*********************************************************************
 * Function:        UNSIGNED16 mNMTE_GetHeartBeat(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	UNSIGNED16 HeartBeat  
 *
 * Side Effects:    none
 *
 * Overview:        Get the heartbeat time. 
 *
 * Note:          	
 ********************************************************************/
#define mNMTE_GetHeartBeat()			_uNMTEHeartBeat.word


/*********************************************************************
 * Function:        void mNMTE_SetGuardTime(UNSIGNED16 GuardTime)
 *
 * PreCondition:    none
 *
 * Input:       	UNSIGNED16 GuardTime
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Set the guardtime time. 
 *
 * Note:          	
 ********************************************************************/
#define mNMTE_SetGuardTime(GuardTime)	_uNMTEGuardTime.word = GuardTime;


/*********************************************************************
 * Function:        UNSIGNED16 mNMTE_GetGuardTime(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	UNSIGNED16 GuardTime  
 *
 * Side Effects:    none
 *
 * Overview:        Get the GuardTime time. 
 *
 * Note:          	
 ********************************************************************/
#define mNMTE_GetGuardTime()			_uNMTEGuardTime.word


/*********************************************************************
 * Function:        void mNMTE_SetLifeFactor(UNSIGNED8 LifeFactor)
 *
 * PreCondition:    none
 *
 * Input:       	UNSIGNED16 LifeFactor
 *                  
 * Output:         	none  
 *
 * Side Effects:    none
 *
 * Overview:        Set the life factor. 
 *
 * Note:          	
 ********************************************************************/
#define mNMTE_SetLifeFactor(LifeFactor)	_uNMTELifeFactor.byte = LifeFactor;


/*********************************************************************
 * Function:        UNSIGNED8 mNMTE_GetLifeFactor(void)
 *
 * PreCondition:    none
 *
 * Input:       	none
 *                  
 * Output:         	UNSIGNED8 LifeFactor  
 *
 * Side Effects:    none
 *
 * Overview:        Get the Life Factor. 
 *
 * Note:          	
 ********************************************************************/
#define mNMTE_GetLifeFactor()			_uNMTELifeFactor.byte


#endif	//__CO_NMTE_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -