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 + -
显示快捷键?