You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

97 lines
2.6 KiB

/********************************************************************************************************
File:ATBM253Sample.c
Description:
Example of ATBM253 SDK .
History:
*********************************************************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include "ATBM253Api.h"
/***********Example Code*********************/
#if 1
int main(int argc,char *argv[])
{
/*
This is an example of using ATBM253.
*/
ATBM253_ERROR_e ret = ATBM253_NO_ERROR;
ATBM253InitConfig_t InitConfig;
ATBM253CfgCMD_t Config;
ATBM_U32 FreqKHz = 546000,BandWidthKHz = 8000;
ATBM_S32 RSSI = 0;
ATBM_U32 DevId = 0;
(void)argc;
(void)argv;
/*Get the default configuration from ATBM253 SDK. */
if(ATBM253_NO_ERROR != ATBM253DefaultCfgGet(&InitConfig))
{
return -1;
}
/*Change some setting according to actual requirement.*/
InitConfig.I2CParam.I2CSlaveAddr = 0xC0;
InitConfig.I2CParam.Param = 0; /*user parameter, which may be used in ATBM253I2CRead/Write. */
InitConfig.OSCCap.CalibValue = 0x08; /*OSC PPM calibration, from 0x00 to 0x0F.*/
InitConfig.Mode = ATBM253_SIGNAL_MODE_DTMB;
InitConfig.DtvIFOut.IFOutFreqHz = 5000000;/* 5MHz */
InitConfig.DtvIFOut.IFOutLevel = ATBM253_IF_OUT_LEVEL2;
InitConfig.AtvIFOut.IFOutFreqHz = 5000000;/* 5MHz */
InitConfig.AtvIFOut.IFOutLevel = ATBM253_IF_OUT_LEVEL1;
/*Initialize with customer parameters.*/
ret = ATBM253Init(DevId,&InitConfig);
if(ATBM253_NO_ERROR != ret)
{
return -1;
}
/*Tune to frequency, e.g. DTMB ,center frequency is 546000KHz, bandwidth is 8MHz, normal spectrum.*/
FreqKHz = 546000;
BandWidthKHz = 8000;
ret = ATBM253ChannelTune(DevId,ATBM253_SIGNAL_MODE_DTMB,FreqKHz,BandWidthKHz,ATBM253_SPECTRUM_NORMAL);
if(ATBM253_NO_ERROR != ret)
{
return -1;
}
/*Get RSSI*/
ret = ATBM253GetRSSI(DevId,&RSSI);
if(ATBM253_NO_ERROR != ret)
{
return -1;
}
printf("RSSI:%d dBm\n",RSSI);
/*Tune to another channel, e.g. DVBC, center frequency is 674000KHz, bandwidth is 8MHz, normal spectrum.*/
FreqKHz = 674000;
BandWidthKHz = 8000;
ret = ATBM253ChannelTune(DevId,ATBM253_SIGNAL_MODE_DVBC,FreqKHz,BandWidthKHz,ATBM253_SPECTRUM_NORMAL);
if(ATBM253_NO_ERROR != ret)
{
return -1;
}
/*If you want to change some parameters, call 'ATBM253CfgSet' to do it. */
Config.CfgCmd = ATBM253_CFG_CMD_DTV_IF_OUT_SETTING;
Config.Cfg.IFOut.IFOutFreqHz = 5000000;
Config.Cfg.IFOut.IFOutLevel = ATBM253_IF_OUT_LEVEL3;
ret = ATBM253CfgSet(DevId,&Config);
if(ATBM253_NO_ERROR != ret)
{
return -1;
}
while(1);
return 0;
}
#endif