找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2980|回复: 7
收起左侧

QN8027初始化不工作

[复制链接]
ID:333921 发表于 2018-6-4 15:52 | 显示全部楼层 |阅读模式
1、问题描述:初始化后读状态寄存器,始终为0.

2、相关寄存器信息。网上看到其他人的初始化程序,配置到0x18的寄存器地址。但我的版本寄存器地址最大就0x12



3、初始化程序,I2C可正常读写:

        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x00, 0x80); //复位
        //MsOS_DelayTask(20);
        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x03, 0xc0); //选择时钟
        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x04,0xB3  );  //默认24M

        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x00, 0x40); //有限状态机校验
        MsOS_DelayTask(20);
        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x00, 0x00); //有限状态机校验结束,回到normal

        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x10, 0x7F); //设置发射功率为最大值

        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x01, byteValue);
        byteValue = (chValue >> 8) & 0x3; // 取高两位
        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x00, byteValue);

        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x01, 0xA9); // 1分钟无输入,关闭PA

        retvalue = MDrv_IIC_ReadBytes(READ_FM_NO, 3, rAddr, 3, buff);

        byteValue |= 0x20;
        MDrv_IIC_WriteByte(WRITE_FM_NO, 0x00, byteValue); // 发射


发射后,读状态寄存器,还是为RESET状态
qn8027.PNG
回复

使用道具 举报

ID:333921 发表于 2018-6-4 16:03 | 显示全部楼层
下图为 寄存器0,3,4 的说明
reg00.PNG
reg03.PNG
reg04-1.PNG
reg04-2.PNG
回复

使用道具 举报

ID:333921 发表于 2018-6-4 17:20 | 显示全部楼层
读写地址为 0x58 写, 0x59读
回复

使用道具 举报

ID:371489 发表于 2018-7-14 14:56 | 显示全部楼层
我也遇到了类似的问题,请问楼主解决了吗?感激不尽
回复

使用道具 举报

ID:383373 发表于 2019-7-24 16:27 | 显示全部楼层
后来怎么解决的????有消息么谢谢
回复

使用道具 举报

ID:909736 发表于 2026-4-28 16:45 来自触屏版 | 显示全部楼层
有解决了的吗,读写都正常,就是0x40一直返回00,初始化不了,换晶振,换电容都一样
回复

使用道具 举报

ID:383215 发表于 2026-5-3 22:52 | 显示全部楼层
/*        正确的QN8027初始化程序如下:
        1.写数据到QN8027寄存器0x00=0x81;             //将QN8027所有寄存器复位到默认值
        2. 20ms延迟
        3. 写数据到QN8027寄存器0x03=0x50;                  //设置QN8027为外部正弦波时钟输入( 与硬件设计相关)
        4. 写数据到QN8027寄存器0x04=0x33;            //设置12MHz时钟频率( 与硬件设计相关)
        5. 写数据到QN8027寄存器0x00=0x41;            //QN8027有限状态机校验
        6. 写数据到QN8027寄存器0x00=0x01;            // QN8027有限状态机校验
        7.20ms延迟                                                    //增加20ms的延迟来等待QN8027有限状态机校验的完成
        8. 写数据到QN8027寄存器0x18=0xE4;             //改善信噪比SNR
        9. 写数据到QN8027寄存器0x1B=0xF0;            //使QN8027发射功率最大
        10. 写数据到QN8027寄存器0x01=0x7E;           //设置发射频率
        11. 写数据到QN8027寄存器0x02=0xB9;          //放弃QN8027 PA关闭功能当没有音频信号输入时
        12. 写数据到QN8027寄存器0x00=0x22;           //发射
*/       
你的初始化程序多数寄存器不对,写入的值也不对,上面的初始化程序是对的,记不清楚是哪里复制来的还是本论坛的,反正已经可以正常发射,QN8027的发射音质还是不错的。
回复

使用道具 举报

ID:383215 发表于 2026-5-6 20:00 | 显示全部楼层
我都没有注意看,差不多8年前的帖子,8年还编不出QN8027?
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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