矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 1223|回复: 25

请教:KT0937-D8的INT脚(pin7)是干啥用的?

[复制链接]
     
发表于 2025-2-11 23:36:20 | 显示全部楼层 |阅读模式
手册里只是说了这个pin的配置方式,但没有提到这个pin有啥用,求大佬帮忙!
Screenshot 2025-02-11 233346.png
     
发表于 2025-2-12 16:25:06 | 显示全部楼层
zhqm@msn.com 发表于 2025-2-12 15:38
不好意思,我还是有点没明白。
KT0937是个被动设备,我给他个中断有啥用啊?如果是KT0937给MCU一个中断 ...

不是給他的中斷,是他給你的中斷。這類器件要物盡其用的話,是要向外部的單片機或相關部件輸出中斷來進行處理的。
回复 支持 1 反对 0

使用道具 举报

发表于 2025-2-12 08:56:49 | 显示全部楼层
TUNE_INT_MODE=1,TUNE_INT_PL=0时,中断是一个下降沿;
TUNE_INT_MODE=1,TUNE_INT_PL=10时,中断是一个上升沿。
这样的配置是可以硬件自动清除的。我的理解是读取之后硬件自动清除。

TUNE_INT_MODE=0,TUNE_INT_PL=0时,中断是低电平;
TUNE_INT_MODE=0,TUNE_INT_PL=10时,中断高电平。
那么,也就是说,当发生中断的时候,对应的引脚一直保持低电平或者低电平,需要手动像芯片写入指令才能恢复。

我英语不好,这是我个人的理解不见得正确。
回复 支持 反对

使用道具 举报

     
发表于 2025-2-12 09:20:36 | 显示全部楼层
第一句E文说是,外部中断输入脚
回复 支持 反对

使用道具 举报

     
发表于 2025-2-12 09:27:53 | 显示全部楼层
設置中斷模式,是邊沿跳變中斷還是電平中斷。INT脚是外部中斷源輸入端。

补充内容 (2025-2-13 11:21):
更正一下,是芯片的中斷輸出端。
回复 支持 反对

使用道具 举报

     
发表于 2025-2-12 12:03:29 | 显示全部楼层
本帖最后由 colorabc 于 2025-2-12 12:17 编辑

KT0937-D8 调台完成后可输出中断,这样MCU可以及时读取对应的频率和信号质量。CH用电位器模式的情况如上,另外种模式没试过。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2025-2-12 14:41:47 | 显示全部楼层
colorabc 发表于 2025-2-12 12:03
KT0937-D8 调台完成后可输出中断,这样MCU可以及时读取对应的频率和信号质量。CH用电位器模式的情况如上, ...

我试了,无论怎么设置这2个寄存器,无论调台到准确的电台还是电台之间的噪声,好像这个INT都没有任何输出,无论是电平变化,还是上升下降。

第一个问题就是,这个INT脚到底是个输入还是输出?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2025-2-12 14:44:14 | 显示全部楼层
longshort 发表于 2025-2-12 09:27
設置中斷模式,是邊沿跳變中斷還是電平中斷。INT脚是外部中斷源輸入端。

你的意思是,如果我变更了寄存器的配置,需要触发一下这个INT以便生效?
回复 支持 反对

使用道具 举报

     
发表于 2025-2-12 15:27:47 | 显示全部楼层
zhqm@msn.com 发表于 2025-2-12 14:44
你的意思是,如果我变更了寄存器的配置,需要触发一下这个INT以便生效?

不是的,這跟生不生效沒關係,這是用來處理中斷事物的,比如飛梭,比如時間,比如按鍵... ...
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2025-2-12 15:38:37 | 显示全部楼层
longshort 发表于 2025-2-12 15:27
不是的,這跟生不生效沒關係,這是用來處理中斷事物的,比如飛梭,比如時間,比如按鍵... ...

不好意思,我还是有点没明白。
KT0937是个被动设备,我给他个中断有啥用啊?如果是KT0937给MCU一个中断,我还可以编程来识别和处理这个中断,但如果这个是个输入端,即使我通过寄存器配置了中断触发方式,但是这个中断触发后,KT0937应该干啥呢?
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2025-2-12 15:52:53 | 显示全部楼层
我在Programming Guide里找到了,改天测试一下,尽管我试过了。
Register TUNE_INT_EN is used to enable the interrupt. When TUNE_INT_EN=1, the change of CH pin voltage will lead to the interrupt signal of INT pin. When TUNE_INT_EN=0, whether CH pin voltage changes or not, the INT pin will not output the interrupt signal.

这里明确说明了output the interrupt signal.

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2025-2-12 23:59:59 | 显示全部楼层
楼主能否分享KT0937的初始化和调台代码?我试了好久都没有办法发出声音,但是读写寄存器又是正确的。看编程规范又找不到没有设定调谐频率的寄存器,都不明白它是如何用程序调台的。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2025-2-13 09:28:11 | 显示全部楼层
Tuner 发表于 2025-2-12 23:59
楼主能否分享KT0937的初始化和调台代码?我试了好久都没有办法发出声音,但是读写寄存器又是正确的。看编程 ...

我不知道对不对,不过我好像没法用MCU调台。我可以用e4和e5寄存器设置一个频率,在启动后开始播放,但却没法在启动后通过MCU换台,不过通过按键或者电位器换台倒是很方便。

代码在家里电脑上,因为网上没有KT0937现成的软件,我打算发在github上,其实也没几行代码。
回复 支持 反对

使用道具 举报

     
发表于 2025-2-13 11:26:29 | 显示全部楼层
Tuner 发表于 2025-2-12 23:59
楼主能否分享KT0937的初始化和调台代码?我试了好久都没有办法发出声音,但是读写寄存器又是正确的。看编程 ...

這個芯片設定頻率是通過電位器控制電壓,因此可由MCU通過DAC變化控制電壓的方式實現。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2025-2-13 11:54:32 | 显示全部楼层
longshort 发表于 2025-2-13 11:26
這個芯片設定頻率是通過電位器控制電壓,因此可由MCU通過DAC變化控制電壓的方式實現。

说的没错,不过这么做多少有点复杂,你要是通过一个旋转编码器通过调节MCU的GPIO模拟电压来设定频率,其实跟用电位器差不多,都是旋转选台。你要是想通过输入频率来设置,则可能因为电压的波动,选台不准,尽管可以通过读取寄存器在频率设定后读出一个准确的值。

用旋转编码器最大的好处是,当频率到108MHz的时候,继续向前旋转,可以通过编程来让频率回到87.5MHz,而用电位器,则需要费劲的再回去。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-26 02:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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