xReadCH375Cmd( )函数,我用如下代码,怎么不行呢
在主程序中写的子程序
UINT8 xReadCH375Cmd(void) //读端口数据,须用此函数名 { To_Data(); return CH375HM_RD(); // 外部定义的被CH375程序库调用的子程序,从CH375读数据 }
xReadCH375Cmd( )函数,我用如下代码,怎么不行呢
在主程序中写的子程序
UINT8 xReadCH375Cmd(void) //读端口数据,须用此函数名 { To_Data(); return CH375HM_RD(); // 外部定义的被CH375程序库调用的子程序,从CH375读数据 }
To_Data(); return CH375HM_RD(); 上述具体代码是什么? 一般代码如下: 模拟I/O方式: UINT8 xReadCH375Cmd( void ) /* 外部定义的被CH375程序库调用的子程序,从CH375读数据 */ { UINT8 mData;
mDelay1_2uS( ); /* 至少延时1.2uS */ P0 = 0xFF; /* 输入 */ CH375_A0 = 1; CH375_CS = 0; CH375_RD = 0; /* 输出有效写控制信号, 读CH375芯片的数据端口 */ CH375_CS = 0; /* 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS */ mData = P0; /* 从CH375的并口输入数据 */ CH375_RD = 1; /* 输出无效的控制信号, 完成操作CH375芯片 */ CH375_CS = 1; CH375_A0 = 0; return( mData ); } 总线方式,0xBDF1是命令口地址: UINT8 xReadCH375Cmd( void ) /* 外部定义的被CH375程序库调用的子程序,从CH375读数据 */ { return( *(UINT8XV *)0XBDF1 ); }
读函数是如何测试不行的呢? 您可以先做测试命令,如果不通过的话,检查硬件连接是否正确,软件方面的检测方法您可以循环去读数据,用示波器测试相关引脚的电平是否正确就可以了.很容易就能检测到问题.
就是读数据的函数吧,我给改成 xReadCH375Data( void ),可以吧
可以,只要相应的修改CH375_A0就可以了