专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
物联网
RDA5820外围电路问题
2019-07-18 17:04
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
RF/无线
14974
4
1188
本帖最后由 afs 于 2016-9-27 21:23 编辑
请问RDA5820这样的外围
电路
能正常发射频率么,如果可以,为什么 一直发射的是116MHZ不能改变?
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
李春明
1楼-- · 2019-07-18 17:56
不太明白楼主讲的什么意思
加载中...
afs
2楼-- · 2019-07-18 18:30
本帖最后由 afs 于 2016-10-8 14:07 编辑
王栋春 发表于 2016-9-27 20:48
不太明白楼主讲的什么意思
额,有图片没有加载上去。麻烦您看下程序有没有问题。现在一直发射117MHZ的频率不能改变。程序是网上能找的到的,用I2C通信,I2C的读写都没有问题。Rda5820WriteReg(0X03,temp); 这个函数能写进去正确的频率值但是出来的频率就是117MHZ,试了很多方法频率还是不能改变,所以怀疑是硬件的问题但是图没能加载上去。
int main(void)
{
/* USART1 config 115200 8-N-1 */
// u16 num1,num2,num3;
delay_init(8);//时钟配置
JTAG_Set(1); //下载方式配置
IIC_Init(); //I2C初始化
LED(); //LED初始化
while(!(Rda5820Init()))
{
Rda5820BandSet(0); //频段设置
Rda5820SpaceSet(0); //步进设置
Rda5820TxPagSet(63); //发射功率设置
Rda5820TxPgaSet(3); //发射信号增益设置
Rda5820FreqSet(9700); //频率设置
Rda5820TxMode(); //发射模式
GPIO_SetBits(GPIOA,GPIO_Pin_1); //LED测试
while(1);
}
}
u8 Rda5820Init(void)
{
u16 id;
id=Rda5820ReadReg(RDA5820_R00);
if(id==0X5805) //芯片默认ID0X5805
{
Rda5820WriteReg(RDA5820_R02,0x0002); //芯片复位
delay_ms(50);
Rda5820WriteReg(RDA5820_R02,0x0001); //芯片上电
delay_ms(600);
Rda5820WriteReg(RDA5820_R02,0xD201); //芯片上电 不复位 正常天线 32.768k时钟
Rda5820WriteReg(RDA5820_R03,0x1A10); //步进100k 频段87MHZ-108MHZ 不开启协调
Rda5820WriteReg(RDA5820_R40,0X0001); //设置为发射模式
}
else return 1;
return 0;
}
void Rda5820FreqSet(u16 freq)
{
u16 temp;
u8 spc=0,band=0;
u16 fbtm,chan;
temp=Rda5820ReadReg(0X03);
temp&=0X001F;
band=(temp>>2)&0x03;
spc=temp&0x03;
if(spc==0)spc=10;
else if(spc==1)spc=20;
else spc=5;
if(band==0)fbtm=8700;
else if(band==1||band==2)fbtm=7600;
else
{
fbtm=Rda5820ReadReg(0X53);
fbtm*=10;
}
if(freq<fbtm)return;
chan=(freq-fbtm)/spc;
chan&=0X3FF;
temp|=chan<<6;
temp|=1<<4;
Rda5820WriteReg(0X03,temp);
delay_ms(100);
while((Rda5820ReadReg(0X0B)&(1<<7))==0);
}
加载中...
afs
3楼-- · 2019-07-18 22:10
精彩回答 2 元偷偷看……
加载中...
Bloody♂Mary
4楼-- · 2019-07-19 03:59
请问一下楼主是买的芯片自己焊接的外围电路,还是直接买的模块?
加载中...
一周热门
更多
>
相关问题
STM32开发板免费用活动
7 个回答
无线通讯电子电路图
3 个回答
求3DA92 3DA89 3DA37 高频放大管的外围电路
1 个回答
中波收音机为什么通常要采用环形天线呢?
4 个回答
有谁知道这个元器件
19 个回答
315M无线模块
7 个回答
779M与315M
6 个回答
相关文章
物联网通信协议——物联网数据协议
0个评论
基于AM335X的物联网关解决方案
0个评论
×
关闭
采纳回答
向帮助了您的网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
物联网
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
关闭
您已邀请
15
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
额,有图片没有加载上去。麻烦您看下程序有没有问题。现在一直发射117MHZ的频率不能改变。程序是网上能找的到的,用I2C通信,I2C的读写都没有问题。Rda5820WriteReg(0X03,temp); 这个函数能写进去正确的频率值但是出来的频率就是117MHZ,试了很多方法频率还是不能改变,所以怀疑是硬件的问题但是图没能加载上去。
int main(void)
{
/* USART1 config 115200 8-N-1 */
// u16 num1,num2,num3;
delay_init(8);//时钟配置
JTAG_Set(1); //下载方式配置
IIC_Init(); //I2C初始化
LED(); //LED初始化
while(!(Rda5820Init()))
{
Rda5820BandSet(0); //频段设置
Rda5820SpaceSet(0); //步进设置
Rda5820TxPagSet(63); //发射功率设置
Rda5820TxPgaSet(3); //发射信号增益设置
Rda5820FreqSet(9700); //频率设置
Rda5820TxMode(); //发射模式
GPIO_SetBits(GPIOA,GPIO_Pin_1); //LED测试
while(1);
}
}
u8 Rda5820Init(void)
{
u16 id;
id=Rda5820ReadReg(RDA5820_R00);
if(id==0X5805) //芯片默认ID0X5805
{
Rda5820WriteReg(RDA5820_R02,0x0002); //芯片复位
delay_ms(50);
Rda5820WriteReg(RDA5820_R02,0x0001); //芯片上电
delay_ms(600);
Rda5820WriteReg(RDA5820_R02,0xD201); //芯片上电 不复位 正常天线 32.768k时钟
Rda5820WriteReg(RDA5820_R03,0x1A10); //步进100k 频段87MHZ-108MHZ 不开启协调
Rda5820WriteReg(RDA5820_R40,0X0001); //设置为发射模式
}
else return 1;
return 0;
}
void Rda5820FreqSet(u16 freq)
{
u16 temp;
u8 spc=0,band=0;
u16 fbtm,chan;
temp=Rda5820ReadReg(0X03);
temp&=0X001F;
band=(temp>>2)&0x03;
spc=temp&0x03;
if(spc==0)spc=10;
else if(spc==1)spc=20;
else spc=5;
if(band==0)fbtm=8700;
else if(band==1||band==2)fbtm=7600;
else
{
fbtm=Rda5820ReadReg(0X53);
fbtm*=10;
}
if(freq<fbtm)return;
chan=(freq-fbtm)/spc;
chan&=0X3FF;
temp|=chan<<6;
temp|=1<<4;
Rda5820WriteReg(0X03,temp);
delay_ms(100);
while((Rda5820ReadReg(0X0B)&(1<<7))==0);
}
一周热门 更多>