亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? si47xx_rx_fm.c

?? si47xx FM 收音機的程序,通過單片機來控制搜臺燈功能
?? C
?? 第 1 頁 / 共 2 頁
字號:
/**************************************

Si47XX FM RX part

***************************************/

#include "Si47xx_common.h"

/**************************************

Si47XX_Set_Property_FM_DEEMPHASIS()

***************************************/

T_ERROR_OP Si47XX_Set_Property_FM_DEEMPHASIS(void)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_set_property[] = {0x12,0x00,0x11,0x00,0x00,0x01};	//FM deemphasis is 50us

	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_set_property[0]), 6);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/**************************************

Si47XX_Set_Property_FM_Seek_Band_Top()

Default: 107.9MHz

***************************************/

T_ERROR_OP Si47XX_Set_Property_FM_Seek_Band_Top(void)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_set_property[] = {0x12,0x00,0x14,0x01,0x2A,0x30};	//0x2A30 = 10800

	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_set_property[0]), 6);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/**************************************

Si47XX_Set_Property_FM_Seek_Space()

***************************************/

T_ERROR_OP Si47XX_Set_Property_FM_Seek_Space(void)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_set_property[] = {0x12,0x00,0x14,0x02,0x00,0x0A};	//seek space = 0x0A = 10 = 100KHz

	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_set_property[0]), 6);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/**************************************

Si47XX_Set_Property_FM_SNR_Threshold()

Default is 3dB

***************************************/

T_ERROR_OP Si47XX_Set_Property_FM_SNR_Threshold(void)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_set_property[] = {0x12,0x00,0x14,0x03,0x00,0x02};	//SNR threshold = 0x0002 = 2dB

	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_set_property[0]), 6);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/**************************************

Si47XX_Set_Property_FM_RSSI_Threshold()

Default is 20dBuV

***************************************/

T_ERROR_OP Si47XX_Set_Property_FM_RSSI_Threshold(void)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_set_property[] = {0x12,0x00,0x14,0x04,0x00,0x0c};	//RSSI threshold = 0x000c = 12dBuV

	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_set_property[0]), 6);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/************************************************

Si47XX_Set_Property_FM_Antenna_Input()

Only used for short antenna supported chip

EXTERNAL_ANTENNA = Use FMI pin for headphone (long) antenna
INTERNAL_ANTENNA = Use TXO/LPI pin for embedded (short) antenna

Default is 0.

************************************************/

T_ERROR_OP Si47XX_Set_Property_FM_Antenna_Input(T_RX_ANTENNA_SELECT Rx_Antenna_Select)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_set_property[] = {0x12,0x00,0x11,0x07,0x00,0x00};	//00: headphone antenna (FMI)

  if(Rx_Antenna_Select == INTERNAL_ANTENNA)
  	Si47XX_set_property[5] = 0x01;
  	
	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_set_property[0]), 6);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/**************************************

static Si47XX_FM_Tune_Freq()

***************************************/

static T_ERROR_OP Si47XX_FM_Tune_Freq(unsigned short channel_freq)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_tune_freq[] = {0x20,0x00,0x27,0xF6,0x00};	//0x27F6=10230KHz
	
	Si47XX_tune_freq[2] = (channel_freq&0xff00) >> 8;
	Si47XX_tune_freq[3] = (channel_freq&0x00ff);	

	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_tune_freq[0]), 5);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/**************************************

static Si47XX_FM_Seek_Start()

***************************************/

static T_ERROR_OP Si47XX_FM_Seek_Start(T_SEEK_MODE seek_mode)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_seek_start[] = {0x21,0x0C};
			
	
	switch(seek_mode)
	{
		case SEEKDOWN_HALT:
		{
			Si47XX_seek_start[1] = 0x00;
			break;
		}
    case SEEKDOWN_WRAP:
    {
    	Si47XX_seek_start[1] = 0x04;
    	break;
    }
    case SEEKUP_HALT:
    {
    	Si47XX_seek_start[1] = 0x08;
    	break;
    }
    case SEEKUP_WRAP:
    {
    	Si47XX_seek_start[1] = 0x0C;
    	break;
    }
  }
	//send CMD
 	error_ind = OperationSi47XX_2w(WRITE, &(Si47XX_seek_start[0]), 2);
	if(error_ind)
		return I2C_ERROR;

	//wait CTS = 1
	do
	{	
		error_ind = OperationSi47XX_2w(READ, &(Si47XX_reg_data[0]), 1);
		if(error_ind)
			return I2C_ERROR;	
		loop_counter++;
	}
	while(((Si47XX_reg_data[0]) != 0x80) && (loop_counter < 0xff));  //loop_counter limit should guarantee at least 300us
	
	if(loop_counter >= 0xff)
		return LOOP_EXP_ERROR;	

	return OK;

}

/**************************************

static Si47XX_FM_Tune_Status()

***************************************/

static T_ERROR_OP Si47XX_FM_Tune_Status(unsigned short *pChannel_Freq, unsigned char *SeekFail, unsigned char *valid_channel)
{
	unsigned short loop_counter = 0;
	unsigned char Si47XX_reg_data[32];	
	unsigned char error_ind = 0;
	unsigned char Si47XX_fm_tune_status[] = {0x22,0x01};		

	//send CMD

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产精品久久人人爱蜜臀| 国产精品久久久久久久久免费樱桃 | 欧美亚洲一区二区在线| 卡一卡二国产精品 | 久久久久久久免费视频了| 91福利在线免费观看| 国产酒店精品激情| 亚洲国产精品尤物yw在线观看| 亚洲国产精品精华液ab| 91精品蜜臀在线一区尤物| 色婷婷综合激情| 国产suv精品一区二区三区 | 成人黄色777网| 久草中文综合在线| 肉色丝袜一区二区| 一区二区三区.www| 中文字幕av一区二区三区免费看 | 91网站黄www| 国产suv精品一区二区三区| 欧美a级一区二区| 午夜激情一区二区| 亚洲国产人成综合网站| 亚洲少妇屁股交4| 欧美激情综合五月色丁香| 精品国产免费一区二区三区香蕉| 欧美日本一道本在线视频| 在线观看国产91| 91免费视频观看| 99视频精品在线| 成人听书哪个软件好| 国产91综合一区在线观看| 国产伦理精品不卡| 理论电影国产精品| 美女任你摸久久 | 成人永久免费视频| 国产98色在线|日韩| 国产高清不卡一区二区| 国产成人在线网站| 日韩午夜激情免费电影| 欧美麻豆精品久久久久久| 欧美日韩亚洲高清一区二区| 欧美三级视频在线观看| 欧美日本一道本| 欧美精品乱人伦久久久久久| 欧美夫妻性生活| 日韩视频在线观看一区二区| 日韩免费观看高清完整版| 欧美zozo另类异族| 久久久久久久久久久电影| 国产亚洲一区二区三区在线观看| 中文字幕欧美激情一区| 国产精品不卡在线| 一区二区三区精品在线观看| 亚洲成人激情综合网| 免费在线成人网| 国产一区视频网站| 成人污视频在线观看| 一本色道久久综合亚洲91| 色视频成人在线观看免| 欧美日韩国产系列| 日韩午夜三级在线| 国产欧美视频一区二区三区| 日韩久久一区二区| 天天综合网天天综合色| 国产一区二区主播在线| 成人av一区二区三区| 欧美中文一区二区三区| 日韩一级精品视频在线观看| 欧美激情在线看| 亚洲综合色区另类av| 蜜桃av一区二区在线观看| 国产电影一区在线| 在线欧美日韩国产| 欧美刺激脚交jootjob| 国产精品女主播在线观看| 亚洲一区自拍偷拍| 久久99精品久久久久婷婷| 99久久精品免费精品国产| 7777精品久久久大香线蕉| 国产日本欧美一区二区| 一区二区三区欧美久久| 韩国女主播成人在线观看| 99视频在线精品| 欧美一级日韩不卡播放免费| 国产欧美一区二区在线| 亚洲狠狠爱一区二区三区| 国产一区二区在线观看视频| 欧美在线观看一区| 2024国产精品| 亚洲va天堂va国产va久| 国产91清纯白嫩初高中在线观看| 欧美午夜理伦三级在线观看| 久久久久高清精品| 日日摸夜夜添夜夜添亚洲女人| 国产99精品国产| 日韩精品在线一区二区| 一区二区三区四区中文字幕| 国产一区二区三区四区五区入口 | 日韩毛片视频在线看| 日本不卡视频一二三区| jiyouzz国产精品久久| 日韩免费电影网站| 亚洲一区二区三区国产| 成人黄色网址在线观看| 久久综合九色综合97婷婷女人 | 99久久精品免费| 欧美成人video| 亚洲一区二区精品3399| 成人av在线影院| 久久久久久一二三区| 日韩av午夜在线观看| 欧美综合久久久| 一区在线中文字幕| 成人午夜电影久久影院| 久久亚洲精品国产精品紫薇| 免费美女久久99| 6080午夜不卡| 亚洲.国产.中文慕字在线| 色婷婷国产精品| 亚洲精品国产精品乱码不99| 不卡的av电影| 国产欧美日韩在线观看| 极品少妇xxxx精品少妇| 日韩免费看网站| 久色婷婷小香蕉久久| 91精品国产综合久久小美女| 亚洲福利视频三区| 欧洲人成人精品| 一区二区三区在线视频观看| 一本色道亚洲精品aⅴ| 亚洲伦理在线精品| 色哟哟一区二区在线观看 | 日韩av不卡一区二区| 欧美日韩在线播放三区| 亚洲永久免费av| 欧美视频一区二区三区四区| 亚洲一区二区三区四区五区黄| 欧美伊人久久久久久久久影院| 亚洲男帅同性gay1069| 色婷婷久久99综合精品jk白丝| 亚洲天堂网中文字| 在线观看国产91| 亚洲成av人综合在线观看| 欧美高清视频在线高清观看mv色露露十八 | 亚洲精品亚洲人成人网| 日本高清无吗v一区| 夜夜嗨av一区二区三区网页| 欧美无人高清视频在线观看| 亚洲电影在线免费观看| 69精品人人人人| 精品一区二区三区在线播放 | 日韩电影一二三区| 欧美一区二区观看视频| 六月婷婷色综合| 久久精品在线免费观看| 成人精品免费网站| 综合久久给合久久狠狠狠97色| 一本在线高清不卡dvd| 亚洲第四色夜色| 日韩欧美综合在线| 国产成人综合亚洲网站| 中文字幕永久在线不卡| 欧美羞羞免费网站| 久久精品国产99国产| 国产三级欧美三级日产三级99| jvid福利写真一区二区三区| 伊人色综合久久天天| 91精品国产综合久久久久久漫画 | 亚洲电影欧美电影有声小说| 欧美剧在线免费观看网站| 激情综合网av| 亚洲视频一二区| 91精品国产免费| 高清av一区二区| 亚洲一区二区三区在线| 久久婷婷色综合| 欧美色偷偷大香| 国产麻豆精品一区二区| 亚洲黄色免费网站| www精品美女久久久tv| 91视频国产资源| 美女视频黄久久| 亚洲区小说区图片区qvod| 欧美一区二区三区色| 不卡视频在线观看| 免费av成人在线| 亚洲视频免费在线| 精品国产sm最大网站免费看| 91福利视频久久久久| 国产在线看一区| 午夜成人免费电影| 亚洲欧美自拍偷拍色图| 欧美成人女星排名| 欧美午夜片在线观看| 成人美女视频在线看| 久久er99精品| 亚洲图片有声小说| 国产精品九色蝌蚪自拍| 精品噜噜噜噜久久久久久久久试看| 一本久道久久综合中文字幕|