ch375.c
来自「ARM做的MP3播放器(LPC2148+VS1003+CH375+OLED)有频」· C语言 代码 · 共 64 行
C
64 行
#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 + =
减小字号Ctrl + -
显示快捷键?