⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 radiomodulehwdrv.h

📁 SI47**系列DSP的收音芯片驱动C源代码
💻 H
字号:
//***************************************************************
//  ARM BOOT ROUTE VER1.0 for NXP_ARM release
//  bjwork2007@gmail.com
//  chenjun @ 2008-7-19
//***************************************************************

#ifndef _RadioModuleHwDrv_H_
#define _RadioModuleHwDrv_H_

	#define UseSI473X_Radio
	
	#ifdef UseSI473X_Radio	
	
	#include "..\inc\RadioModuleTypeDEF.h"
	
		//#define Radio_Module_Console_Debug
		#define Radio_Module_GUI

		#define LowLevel	0
		#define HighLevel	1
		#define nSEN HighLevel
		
		#if(nSEN == LowLevel)
			#define RadioSlaveAddr 0x22
		#else
			#define RadioSlaveAddr 0xC6
		#endif
		
		#define UseExtOSC	0
		#define UseExtCYC	1
		#define Osc_source	UseExtOSC
		
		#if(Osc_source==UseExtCYC)
			#define CYCFreq		32755 //32751		//32747
		#else
			#define CYCFreq		32768
		#endif
		
		#define WriteOp	0
		#define ReadOp	1
		
		#define RadioSlaveAddrWrtie RadioSlaveAddr
		#define RadioSlaveAddrRead (RadioSlaveAddr | 0x01)
		
		#define Delay2US5()		Delay(8)
		#define Delay1US3()		Delay(4)
		
		//P0.2 SCL;P0.3 SDA
		#define UseGPIO_IIC()	(rPINSEL0 &= 0xffffff0f)
		#define SetSDA()		(rIO0SET = 0x8)
		#define ClrSDA()		(rIO0CLR = 0x8)
		#define GetSDA()		((rIO0PIN & 0x8)>>3)
		#define SetSDAInput()	(rIO0DIR &= 0xfffffff7)
		#define SetSDAOut()		(rIO0DIR |= 0x8)
		#define SetSCLOut()		(rIO0DIR |= 0x4)
		
		#define SetSCL()		(rIO0PIN |= 0x04)
		#define ClrSCL()		(rIO0PIN &= 0xfffffffb)
		
		#define SendIICStop()	rIO0CLR = 0xc;Delay2US5();SetSCL();Delay2US5();SetSDA();Delay2US5()
		#define SendIICStart()  rIO0SET = 0xc;Delay2US5();ClrSDA();Delay2US5();ClrSCL()
		
		#define SetResetOut()	(rIO3DIR |= 0x1)
		#define SetReset()		(rIO3SET = 0x1)
		#define ClrReset()		(rIO3CLR = 0x1)
		#define SetGpo12Out()	(rIO0DIR |= 0x00900000)
		#define SetGpo12In()	(rIO0DIR &= 0xff6fffff)
		#define SetTest()		(rIO0SET = (1<<23))
		#define ClrTest()		(rIO0CLR = (1<<23))
		#define SetnINT()		(rIO0SET = (1<<20))
		#define ClrnINT()		(rIO0CLR = (1<<20))
		
		//define Error Code
		#define TwiNoAck				0xff
		#define TwiInvOp				0xfe
		#define UnknownPowerUpMode		0xfd
		#define LoopEXPLimit			0xfc
		#define RDSDataIncUncorrectErr	0xfb
		#define RDSProcessError			0xfa
		#define GetPropErr				0xf9
		#define OK						0x00
		
		//define AM Ant Attenuate
		#define AMAntATU()		(rIO0SET = (1<<22))
		#define AMAntNoATU()	(rIO0CLR = (1<<22))
		
		//define GET_INT
		#define Test_int()		(rIO0PIN & (1<<20))
		#define Int_active		0x0
		
		#define AMPTurnOn()		(rIO0CLR = (1<<24))
		#define AMPTurnOff()	(rIO0SET = (1<<24))
		
		void ResetRadioModule(void);
		RM_U8 OpRadioModule(RM_U8 OpMode,RM_U8 *Data,RM_U8 NumDataBytes);
		
	#endif
	
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -