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

📄 config.h

📁 测试CAN接口(sja1000) ,每接收到一帧数据,就 原样 回发 一帧!!!! (拨码开关全 拨到 ON ,上位机 发送帧 ID为 0)
💻 H
字号:
//***************************************************************************************************
//描	述:系统配置头文件定义                                                                      *
//文 件 名:config.h                                                                                *
//日	期:2007年6月21日                                                                           *
//***************************************************************************************************
/*
修改历史记录列表:

<修改日期>  <修改内容简述>
2007/06/21  建立基本框架
                
*/
//***************************************************************************************************

#ifndef __config_H__
#define __config_H__

//***************************************************************************************************


//***************************************************************************************************
//**** 包含系统头文件,请根据实际需要进行裁减 *******************************************************
//***************************************************************************************************
#include <msp430x14x.h>
#include <stdio.h>


//***************************************************************************************************
//**** 系统数据类型定义 *****************************************************************************
//***************************************************************************************************
typedef unsigned char INT8U;                 //定义可移植的无符号 8位整数关键字
typedef signed   char INT8S;                 //定义可移植的有符号 8位整数关键字
typedef unsigned int  INT16U;                //定义可移植的无符号16位整数关键字
typedef signed   int  INT16S;                //定义可移植的有符号16位整数关键字
typedef unsigned long INT32U;                //定义可移植的无符号32位整数关键字
typedef signed   long INT32S;                //定义可移植的有符号32位整数关键字

typedef         float FLOAT32;               //定义可移植的32位浮点数关键字

/*
#ifndef TRUE
#define TRUE  1
#endif
#ifndef FALSE
#define FALSE 0                               
#endif
#ifndef NULL
#define NULL  0
#endif

#define MIN(a,b)    ((a<b)?(a):(b))
#define MAX(a,b)    ((a>b)?(a):(b))
#define ABS(x)      ((x>0)?(x):(-x))
*/


//***************************************************************************************************
//**** 以下为工程配置 *******************************************************************************
//***************************************************************************************************
#define Set_ALE_High()              P5OUT |= BIT7            // ALE 脚输出 高电平
#define Set_ALE_Low()               P5OUT &= ~BIT7           // ALE 脚输出 低电平
#define Set_RD_High()               P5OUT |= BIT6            // RD  脚输出 高电平
#define Set_RD_Low()                P5OUT &= ~BIT6           // RD  脚输出 低电平
#define Set_WR_High()               P5OUT |= BIT5            // WR  脚输出 高电平
#define Set_WR_Low()                P5OUT &= ~BIT5           // WR  脚输出 低电平

#define Set_4245OE_disable()        P5OUT |= BIT4            // 数据总线4245 OE 无效(OE=1)
#define Set_4245OE_enable()         P5OUT &= ~BIT4           // 数据总线4245 OE 有效(OE=0)
#define Set_MCU_Read()              P5OUT |= BIT3            // 设置总线方向为: MCU 读总线(DIR=1)
#define Set_MCU_Write()             P5OUT &= ~BIT3           // 设置总线方向为: MCU 写总线(DIR=0)

#define cs_fm20l08_enable()         P5OUT &= ~BIT2           //铁电存储器FM20L08片选 使能(置0)
#define cs_fm20l08_disable()        P5OUT |= BIT2            //铁电存储器FM20L08片选 无效(置1)
#define cs_573_enable()             P5OUT &= ~BIT1           //锁存器573锁存 使能(置0)
#define cs_573_disable()            P5OUT |= BIT1            //锁存器573锁存 无效(置1)
#define cs_sja1000_enable()         P3OUT &= ~BIT0           //SJA1000片选 使能(置0)
#define cs_sja1000_disable()        P3OUT |= BIT0            //SJA1000片选 无效(置1)
#define cs_8255_enable()            P3OUT &= ~BIT1           //8255片选 使能(置0)
#define cs_8255_disable()           P3OUT |= BIT1            //8255片选 无效(置1)
#define cs_2543_enable()            P3OUT &= ~BIT2           //2543片选 使能(置0)
#define cs_2543_disable()           P3OUT |= BIT2            //2543片选 无效(置1)
#define buzzer_enable()             P3OUT &= ~BIT3           //蜂鸣器 鸣叫(置0)
#define buzzer_disable()            P3OUT |= BIT3            //蜂鸣器 停止(置1)
#define fjc_enable()                r_w_bit_8243(3,0,1)      //风机 启动 (向8243的P70写1)
#define fjc_disable()               r_w_bit_8243(3,0,0)      //风机 停止 (向8243的P70写0)


//***************************************************************************************************
//**** 工程常量定义 *********************************************************************************
//***************************************************************************************************
#define DEBUG                    //调试时使用,从串行口输出一些数据,  正常发布后应注释掉此语句

//CAN协议帧头
#define EFF_data_inf        0x88       //(1000 1000)扩展帧的数据帧 帧头,数据长度为8

//系统可以执行的最大工步数(也即 系统工步缓冲区 长度)
#define sum_StepDataBuf       10


//***************************************************************************************************
//**** 工程结构定义 *********************************************************************************
//***************************************************************************************************


//**** CAN发送/接收缓冲区数据结构定义 ***************************************************************
typedef struct
{
//    INT8U  CAN_BUFFER_PRI;                 //缓冲区数据帧优先级(1-最低优先级),同时0表示该缓冲区为空
    INT8U  FrameType_append;    //帧类型附加
    INT8U  FrameType;           //帧类型
    INT8U  FrameSignal1;        //帧信号1
    INT8U  FrameSignal2;        //帧信号2
    INT8U  FrameSignal3;        //帧信号3
    INT8U  FrameSignal4;        //帧信号4
    INT8U  FrameSignal5;        //帧信号5
    INT8U  FrameSignal6;        //帧信号6
    INT8U  FrameSignal7;        //帧信号7
    INT8U  FrameSignal8;        //帧信号8
} CAN_BUFFER;    //CAN发送/接收缓冲区数据结构定义

//**** 工步数据结构定义 *****************************************************************************
typedef struct
{
    INT8U  StepType;            //工步类型
    INT8U  StepEmpty;           //工步数据空/满(此字节为0xa5,表示该工步数据有效)
    INT16U StepLVorCT;          //工步限制电压或循环次数(恒压充电,恒流充/放-限制电压;搁置-0x55aa;循环-循环次数)
    INT16U StepTorCS;           //工步时间或循环起始工步序号(恒压充电,恒流充/放,搁置-时间;循环-循环起始工步序号)
    INT16U StepLIorCE;          //工步限制电流或恒流(恒压充电-限制电流;恒流充/放-恒流;搁置-0x55aa;循环-)
} STEP_DATA;     //工步数据结构定义


//***************************************************************************************************
//**** 工程全局变量申明 *****************************************************************************
//***************************************************************************************************

//申明接收/发送缓冲区变量(定义在 sja1000.c)
extern CAN_BUFFER CAN_ReceiveBuffer;
extern CAN_BUFFER CAN_SendBuffer;

//***************************************************************************************************
//**** 包含工程头文件,请根据需要进行裁减 ***********************************************************
//***************************************************************************************************
#include "project_init.h"
#include "time_uart.h"
//#include "ad_da.h" 
#include "sja1000.h"
//#include "can_agreement.h"
#include "main.h"


//$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ END $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
#endif

⌨️ 快捷键说明

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