📄 srt8300.c
字号:
#include "SRT8300.h"
//enum {R89, R91_8, R93, R95, R99_6, R103_2, R104_5, R105_4, R107} Radio_fre;
code unsigned char WriteReg_RadioFRE[] = {0x2a,0x55,0x5c,
0x2b,0xab,0x4c,
0x2c,0x3d,0x4c,
0x2d,0x31,0x3c,
0x2f,0x63,0x2c,
0x31,0x1a,0x1c,
0x31,0xb9,0x1c,
0x32,0x27,0x1c,
0x32,0xea,0x0c};
unsigned char WriteReg[32]={SRT8300_REGDATA_1,SRT8300_REGDATA_2,SRT8300_REGDATA_3,SRT8300_REGDATA_4,
SRT8300_REGDATA_5,SRT8300_REGDATA_6,SRT8300_REGDATA_7,SRT8300_REGDATA_8,
SRT8300_REGDATA_9,SRT8300_REGDATA_10,SRT8300_REGDATA_11,SRT8300_REGDATA_12,
SRT8300_REGDATA_13,SRT8300_REGDATA_14,SRT8300_REGDATA_15,SRT8300_REGDATA_16,
SRT8300_REGDATA_17,SRT8300_REGDATA_18,SRT8300_REGDATA_19,SRT8300_REGDATA_20,
SRT8300_REGDATA_21,SRT8300_REGDATA_22,SRT8300_REGDATA_23,SRT8300_REGDATA_24,
SRT8300_REGDATA_25,SRT8300_REGDATA_26,SRT8300_REGDATA_27,SRT8300_REGDATA_28,
};
unsigned char ReadReg[10];
///////////////////////////////////////////////////////////////////
/// <summary>
/// 3wire模式写入数据
/// </summary>
void SendData3Wire()
{
unsigned char i,j;
unsigned char _mask;
unsigned char _d;
/// 设置为3wire通信模式
BMOD = 1;
/// 时钟置低
if( SCLK )
SCLK = 0;
/// 设置读写模式为低
if( SEN )
SEN = 0;
/// 使总线有效
BEN = 1;
/// 产生上升沿,设置为写模式
/// 2006/11/14日修改为5767兼容模式
SEN = 1;
SEN = 0;
SEN = 1;
// 循环发送寄存器数据
for(i=0;i<4;i++)//32;i++)
{
_mask = 0x80; // 0x1 << 1;
// 循环发送每位数据
for(j=0; j<8; j++)
{
// 发送数据
_d = ((_mask & WriteReg[i]) == _mask);
if( SDIO != _d)
SDIO = _d ;
// 产生时钟上升沿
SCLK = 1;
// 复位时钟
SCLK = 0;
_mask >>= 1;
}
}
SEN = 1;
// 使总线无效
BEN = 0;
SDIO = 1;
}
///////////////////////////////////////////////////////////////////
/// <summary>
/// 3Wire 模式读出数据
/// </summary>
void ReadData3Wire()
{
unsigned char i,j;
unsigned char _rec;
/// 设置为3wire通信模式
BMOD = 1;
/// 时钟置低
if( SCLK )
SCLK = 0;
/// 设置为写数据模式
if( !SEN )
SEN = 1;
/// 输出数据线置高,以实现线与逻辑
if( !SDIO )
SDIO = 1;
/// 使总线有效
BEN = 1;
/// 产生下降沿设置为读模式
SEN= 0;
SEN = 1;
SEN = 0;
// 循环发送寄存器数据
for(i=0; i<4; i++)
{
_rec = 0;
// 循环接收每位数据
for(j=0;j<8;j++)
{
_rec <<= 1;
// 产生时钟上升沿
SCLK = 1;
// 读入状态字
_rec |= SDIO? 1:0;
// 复位时钟
SCLK = 0;
}
ReadReg[i] = _rec;
}
SEN = 1;
// 使总线无效
BEN = 0;
SDIO = 1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -