|

楼主 |
发表于 2019-8-24 13:34:19
|
显示全部楼层
本帖最后由 氢氟酸 于 2019-8-24 14:01 编辑
- void TEF6621T_Init(void)
- {
- u8 D[10];
- static TEF6621T_BUF TEF6621T_Send_buf;
- static bool FST=1;
- if(FST==1)
- {
- TEF6621T_Send_buf.BAND=1;//0:AM 1:FM
- TEF6621T_Send_buf.Frequency=105;//MHz
- FST=0;
- }
- TEF6621T_Send_buf.MSA=mirror_test|TUNER0;
-
- TEF6621T_Send_buf.TEF6621T_TUNER0=TEF6621T_Send_buf.BAND<<5;//设定AM或者FM
- TEF6621T_Send_buf.TEF6621T_TUNER0|=(int)((TEF6621T_Send_buf.Frequency*20)/0xff);//设定频率高
- TEF6621T_Send_buf.TEF6621T_TUNER1=(int)(TEF6621T_Send_buf.Frequency*20)%0x200;//设定频率低
-
- TEF6621T_Send_buf.TEF6621T_TUNER2=FM_AGC_threshold_retain|INJ_Auto;
-
- TEF6621T_Send_buf.TEF6621T_RADIO=NBS_High|LOCUT_On|MONO_ON|DEMP_103us;
- IIC_Start();
- IIC_Send_Byte(TEF6621T_Write_Add);
- IIC_Wait_Ack();
- IIC_Send_Byte(TEF6621T_Send_buf.MSA);
- IIC_Wait_Ack();
-
- IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_TUNER0);//TUNER0
- IIC_Wait_Ack();
- IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_TUNER1);//TUNER1
- IIC_Wait_Ack();
- IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_TUNER2);//TUNER2
- IIC_Wait_Ack();
- IIC_Send_Byte(TEF6621T_Send_buf.TEF6621T_RADIO);//RADIO
- IIC_Wait_Ack();
- IIC_Stop();
- delay_ms(200);
- printf("%d %d %d %d frequency:%.1fMHz\r\n",D[0],D[1],D[2],D[3],TEF6621T_Send_buf.Frequency);
-
- while(1)
- {
- IIC_Start();
- IIC_Send_Byte(TEF6621T_Read_Add);
- IIC_Wait_Ack();
- D[0]=IIC_Read_Byte(1);
- D[1]=IIC_Read_Byte(1);
- D[2]=IIC_Read_Byte(1);
- D[3]=IIC_Read_Byte(0);
- IIC_Stop();
- if(((D[0] & 0x10 )==0x10) && D[1]>110)//数据有效
- printf("frequency:%.1fMHz signal:%.1f\r\n",TEF6621T_Send_buf.Frequency,D[1]/2.55);
- delay_ms(200);
- }
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
打赏
-
查看全部打赏
|