OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8832|回复: 8

FM收发实验

[复制链接]

29

主题

71

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2013-7-25
在线时间
0 小时
发表于 2013-8-18 10:30:50 | 显示全部楼层 |阅读模式

三处问题,分别如下:




/初始化
//0,初始化成功;
//其他,初始化失败.
u8 RDA5820_Init(void)
{
u16 id;
IIC_Init(); //初始化IIC口
id=RDA5820_RD_Reg(RDA5820_R00); //读取ID =0X5805
if(id==0X5805)这里的ID难道不是0x5820? //读取ID正确
{
RDA5820_WR_Reg(RDA5820_R02,0x0002); //软复位
delay_ms(50);
RDA5820_WR_Reg(RDA5820_R02,0xC001); //立体声,上电
delay_ms(600); //等待时钟稳定 
RDA5820_WR_Reg(RDA5820_R05,0X884F); //搜索强度8,LNAN,1.8mA,VOL最大
  RDA5820_WR_Reg(0X07,0X7800); // 
RDA5820_WR_Reg(0X13,0X0008); // 
RDA5820_WR_Reg(0X15,0x1420); //VCO设置  0x17A0/0x1420 
RDA5820_WR_Reg(0X16,0XC000); //  
RDA5820_WR_Reg(0X1C,0X3126); // 
RDA5820_WR_Reg(0X22,0X9C24); //fm_true 
RDA5820_WR_Reg(0X47,0XF660) ; //tx rds    
在REA5820编程指南里并没有这些地址,这些0x07,0x13等地址是什么?

  }else return 1;//初始化失败
return 0;
}
//写RDA5820寄存器    
void RDA5820_WR_Reg(u8 addr,u16 val)
{
    IIC_Start();     
IIC_Send_Byte(RDA5820_WRITE); //发送写命令    
IIC_Wait_Ack();   
    IIC_Send_Byte(addr);   //发送地址
IIC_Wait_Ack();     
IIC_Send_Byte(val>>8);     //发送高字节   
IIC_Wait_Ack();         
  IIC_Send_Byte(val&0XFF);     //发送低字节
这里应该是val&0x0f吧
  
  IIC_Wait_Ack();         
    IIC_Stop(); //产生一个停止条件  
}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-8-18 14:40:38 | 显示全部楼层
1,3,两个问题,自己修改后,下载测试。让实验去告诉你答案。
2,官方提供的,照抄,具体为什么可以直接发邮件问官方。
PS:RDA是国产IC,官网:http://www.rdamicro.com
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2014-1-4
在线时间
0 小时
发表于 2014-8-9 00:26:26 | 显示全部楼层
/初始化
//0,初始化成功;
//其他,初始化失败.
u8 RDA5820_Init(void)
{
u16 id;
IIC_Init(); //初始化IIC口
id=RDA5820_RD_Reg(RDA5820_R00); //读取ID =0X5805
if(id==0X5805)这里的ID难道不是0x5820? //读取ID正确   同样问题:下载测试了,数据手册里给的RDA2820_R00(0x00)的ID是0X5820呀,为什么芯片写入0x5805才对呢??难道是数据手册有错了???     
{
  RDA5820_WR_Reg(RDA5820_R02,0x0002); //软复位
delay_ms(50);

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-9 00:33:58 | 显示全部楼层
回复【3楼】追梦999:
---------------------------------
你可以自己试试。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2013-10-26
在线时间
0 小时
发表于 2014-8-27 20:47:10 | 显示全部楼层
我测试出来也是0X5805

下面的可以不要,我没有写也能正常工作
RDA5820_WR_Reg(0X07,0X7800); // 
RDA5820_WR_Reg(0X13,0X0008); // 
RDA5820_WR_Reg(0X15,0x1420); //VCO设置  0x17A0/0x1420 
RDA5820_WR_Reg(0X16,0XC000); //  
RDA5820_WR_Reg(0X1C,0X3126); // 
RDA5820_WR_Reg(0X22,0X9C24); //fm_true 
RDA5820_WR_Reg(0X47,0XF660) ; //tx rds
回复 支持 反对

使用道具 举报

8

主题

35

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2015-3-28
在线时间
4 小时
发表于 2015-6-4 11:04:46 | 显示全部楼层
回复【3楼】追梦999:
---------------------------------
你自己看资料不过戏,RAD5820有个两个型号,RAD5820 和RAD5820N 前一个ID为5805 后一个为5820
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2015-6-4
在线时间
0 小时
发表于 2015-6-4 13:25:28 | 显示全部楼层
这个只发不收的吧。
回复 支持 反对

使用道具 举报

16

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
79
金钱
79
注册时间
2016-6-29
在线时间
50 小时
发表于 2016-12-9 16:49:50 | 显示全部楼层
第三个问题 一个F是四位 两个是8位 没毛病
回复 支持 反对

使用道具 举报

21

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
305
金钱
305
注册时间
2017-10-21
在线时间
83 小时
发表于 2018-5-26 23:33:33 | 显示全部楼层
Shoopping 发表于 2014-8-27 20:47
我测试出来也是0X5805

下面的可以不要,我没有写也能正常工作
RDA5820_WR_Reg(0X07,0X7800);                // 
RD ...

老哥,你是怎样测试的那?仿真出来的?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 07:28

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表