📄 ch375.c
字号:
#include <stdio.h>
#include "..\ARM\lpc214x.h"
#include "..\ARM\lpc214x_ex.h"
#include "ch375.h"
void mDelay1_2uS( ) /* 至少延时1.2uS,根据单片机主频调整 */
{
nop();
nop();
nop();
nop();
nop();
nop();
}
void CH375_PORT_INIT( ) /* 由于使用通用I/O模块并口读写时序,所以进行初始化 */
{
#if LIB_CFG_INT_EN == 0
FIO0DIR &= 0xFFFFFFFF & (~(unsigned long)CH375_INT); /* 设置8位并口和INT#为输入 */
#endif
FIO0SET |= CH375_CS | CH375_WR | CH375_RD; /* 设置CS,WR,RD默认为高电平 */
FIO0DIR |= CH375_A0 | CH375_CS | CH375_WR | CH375_RD; /* 设置CS,WR,RD,A0为输出 */
}
void xWriteCH375Cmd( unsigned char mCmd ) /* 外部定义的被CH375程序库调用的子程序,向CH375写命令 */
{
mDelay1_2uS( ); /* 至少延时1uS */
CH375DataOut();
CH375_DATA_PORT = mCmd;
SetCH375WriteCmd();
nop(); /* 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS */
UnSetCH375Write();
mDelay1_2uS( ); mDelay1_2uS( ); /* 至少延时2uS */
}
void xWriteCH375Data( unsigned char mData ) /* 外部定义的被CH375程序库调用的子程序,向CH375写数据 */
{
CH375DataOut();
CH375_DATA_PORT = mData;
SetCH375WriteData();
nop(); /* 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS */
UnSetCH375Write();
mDelay1_2uS( ); /* 至少延时1.2uS */
}
unsigned char xReadCH375Data( void ) /* 外部定义的被CH375程序库调用的子程序,从CH375读数据 */
{
unsigned char mData;
mDelay1_2uS( ); /* 至少延时1.2uS */
CH375DataIn();
SetCH375ReadData();
nop(); /* 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS */
mData = CH375_DATA_PORT;
UnSetCH375Read();
return( mData );
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -