完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
3个回答
|
|
可以参考我们战舰V2的原理图。或者官方的电路图。
|
|
|
|
额,能发射频率但是频率值不能改变一直都是116MHZ,不知道程序哪里有问题,I2C的通信是没有问题的。
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 chan&=0X3FF; temp|=chan<<6; temp|=1<<4; Rda5820WriteReg(0X03,temp); delay_ms(100); while((Rda5820ReadReg(0X0B)&(1<<7))==0); } I2C读写数据都没有问题 Rda5820WriteReg(0X03,temp); temp按照手册上换算是正确的,但是就是发射的频率一直都是116MHZ。 |
|
|
|
参考我们代码
|
|
|
|
只有小组成员才能发言,加入小组>>
641 浏览 2 评论
12653 浏览 0 评论
3999 浏览 7 评论
2231 浏览 9 评论
2040 浏览 2 评论
356浏览 2评论
641浏览 2评论
404浏览 1评论
465浏览 1评论
AD7656在没有输入信号时,测量输入端都会有几mV至几十mV的电压,怎么消除呢?
370浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-12 07:54 , Processed in 0.917889 second(s), Total 81, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191