打印
[应用相关]

数字化收音机制作学习分享

[复制链接]
1000|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gaoyang9992006|  楼主 | 2023-11-13 11:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 gaoyang9992006 于 2023-11-13 11:14 编辑

收音机曾经是一个很重要的信息获取设备,如今已经沦落为情怀了,然而它作为无线电传输设备,将会长久的 存在于历史舞台。接下来根据以下ST板块相关帖子或许开发它的知识吧。通常这些收音机模块都是I2C接口的,有的公用版的I2C协议,有的是变种协议,因此要学习的知识点有:i2C协议,如何通过IO模拟I2C时序,剩下的就是要深刻理解芯片手册关于寄存器各个位的描述,如果使用别人写好的驱动库,那就简单多了,只需要学会程序移植即可。
/*
I2C Start
起始信号:时钟信号在高电平状态时候,数据线产生一个下降沿表示开始信号
*/
void I2C_Start()
{
        IO_SCL_SET_H();
        
        IO_SDA_SET_H();
        IO_SDA_SET_L();        
}

/*
I2C Stop
停止信号:时钟信号在高电平状态时候,数据线产生一个上升沿表示停止
*/
void I2C_Stop()
{
        IO_SCL_SET_H();
        
        IO_SDA_SET_L();
        IO_SDA_SET_H();        
}

/*
I2C ACK/NACK
应答信号:第九个时钟周期的时钟高电平时候读取SDA数据,如果SDA此时为0,则表示应答,如果为1则表示非应答。
*/
void I2C_ACK()
{
        IO_SDA_SET_H();
        
        IO_SCL_SET_H();
        if(Get_IO_SDA()==0)
        IO_SCL_SET_L();
        else
        while(Get_IO_SDA()==1);
        IO_SCL_SET_L();
}

/*
I2C 上发送一个字节数据
发送字节:发送字节是时钟信号的低电平时候修改数据,。
*/
void Write_I2C_Byte(unsigned char I2C_Byte)
{
        unsigned char i;
        
        for(i=0;i<8;i++)
        {
                IO_SCL_SET_L();
               
                if((I2C_Byte<<i)&0x80)
                        IO_SDA_SET_H();
                else
                        IO_SDA_SET_L();
               
                IO_SCL_SET_H();               
        }
        IO_SCL_SET_L();
}
/*
add:7位地址;
rwbit:读写位,1表示读,0表示写
dat:数据字节
命令或数据:1表示发送的字节是数据,0表示发送的字节是命令
        
*/
void OLED_WR_Byte(unsigned char dat,unsigned char cmd)
{
        I2C_Start();
        Write_I2C_Byte(0x78);
        I2C_ACK();
        if(cmd)
                Write_I2C_Byte(0x40);
        else
                Write_I2C_Byte(0x00);
        I2C_ACK();
        Write_I2C_Byte(dat);
        I2C_ACK();        
        I2C_Stop();
}


游客,如果您要查看本帖隐藏内容请回复


使用特权

评论回复
评论
step3 2024-2-22 17:17 回复TA
下载 
沙发
step3| | 2024-2-22 17:18 | 只看该作者
下载下载

使用特权

评论回复
板凳
oufuqiang| | 2024-6-3 18:38 | 只看该作者
这个是对应哪个接收IC的

使用特权

评论回复
地板
caigang13| | 2024-6-3 19:19 | 只看该作者
二姨家也开始搞付费才能看贴了吗?

使用特权

评论回复
5
chenjun89| | 2024-6-4 08:02 | 只看该作者
完犊子了,还有付费才能看帖子内容。

使用特权

评论回复
6
gaoyang9992006|  楼主 | 2024-6-4 09:30 | 只看该作者
chenjun89 发表于 2024-6-4 08:02
完犊子了,还有付费才能看帖子内容。

不用看了,没啥内容。参加论坛活动呢,突然跟我说不能参加,我就设置成这样了。

使用特权

评论回复
7
rzjvv| | 2024-8-31 17:57 | 只看该作者
你提到的将收音机模块与STM32结合,涉及到的知识点包括I2C协议、如何模拟I2C时序、以及理解芯片手册中的寄存器描述。

使用特权

评论回复
8
发顺丰更大nc| | 2024-9-29 13:23 | 只看该作者
如果有现成的I2C驱动库,利用它们能大大简化开发过程。确保熟悉库的API和使用方法。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

1997

主题

16068

帖子

211

粉丝