3.2-SJA1000硬件连接测试.pptVIP

  • 11
  • 0
  • 约3.15千字
  • 约 12页
  • 2019-07-05 发布于江苏
  • 举报
SJA1000硬件连接测试 目 录 硬件接口测试 Config.h头文件 硬件接口测试原理 SJA1000通过并行总线与MCU连接,包括地址/数据线、读/写控制 信号、片选、中断等十多根信号线。 SJA1000 测试寄存器 (地址偏移量:0x09) ucTmp ucTmp’ 写入 读出 两者相同则连接正常, 不同则连接不正常。 连接正常吗? 测试方法 硬件接口测试程序 char SJA1000_TestReg(void) { unsigned char temp, status; status = 1; temp = 0x55; WriteSJAReg(REG_CAN_TEST, temp); // 写入SJA1000测试寄存器 if(ReadSJAReg(REG_CAN_TEST) != temp) { // 读出值与写入值不同 status = 0; // 读写SJA1000芯片出错 } temp = 0xAA; WriteSJAReg(REG_CAN_TEST, temp); // 写入SJA1000测试寄存器 if(ReadSJAReg(REG_CAN_TEST) != temp) { // 读出值与写入值不同 status = 0; // 读写SJA1000芯片出错 } return (status); // SJA读写测试结果 } 测试例程 测试例程通过调用SJA1000_TestReg()函数判断MCU与SJA1000 硬件是否正常连接,并用D1的闪烁频率不同作指示,以下只给出主函数。 void main(void) { timerInit(); // 初始化延时定时器 D1 = 0; for(; ;) { if(SJA1000_TestReg() == 1) { // SJA1000检测成功 D1 = !D1; // 翻转D1状态 timerDly(1000); // 延时1000ms,D1以1s间隔显示 } else { // SJA1000检测失败 D1 = !D1; // 翻转D1状态 timerDly(100); // 延时100ms,D1以0.1s间隔闪烁 } } } 目 录 硬件接口测试 Config.h头文件 头文件作用 在C语言程序中,头文件(*.h文件)用来定义数据类型、声明函数原型、 声明外部变量等。 全局变量N定义; ....... 函数X实现; …… B.c B.h 全局变量N声明; 函数X原型声明; …… A.c 包含B.h; 当一个.C程序文件需要引用其他程序文件中的函数或变量时,若这些函数和 变量在其他程序文件对应的头文件中有声明,那么包含这些头文件即可,例如: 调用函数X; 引用全局变量N; …… 头文件包含方案 在C语言编程中,头文件的包含分为两种方案。 A.c #include “M.h” #include “N.h” ……. ……. B.c #include “M.h” #include “H.h” ……. ……. C.c #include “N.h” #include “Q.h” ……. ……. A、B、C三个程序文件各自包好自身需要的头文件,不需要的头文件不包含。 这种方案可以减少不必要的预处理。 每个程序文件单独包含自身需要的相关头文件。 方案1: 头文件包含方案 每个程序文件包含一个公共头文件,该公共头文件包含其他所有头文件。 A.c #include “X.h” ……. ……. B.c #include “X.h” ……. ……. C.c #include “X.h” ……. ……. X.h #include “M.h” #include “N.h” #include “H.h” #include “Q.h” 公共头文件X.h包含其他所有头文件,A、B、C三个程序文件仅需包含X.h即可。 这种方案的优点是当增

文档评论(0)

1亿VIP精品文档

相关文档