Skip to content

单看视频里的原理解释,这种扫描算法是不是得配个校准程序? #35

Answered by xingrz
Mehver asked this question in Q&A
Discussion options

You must be logged in to vote

这个算法其实十分好理解。STM32的SPI1_MISO接在了U3这第一颗74HC165的串行输出上,而第二颗(U4)的串行输出又接在了第一颗的串行输入上。以此类推,总共有11颗74HC165。

用大白话说,软件上从SPI1一口气读取11个字节,那么第1个字节就是U3,第2个字节就是U4…第11个字节是U13。而每个字节,第1位对应这颗74HC165的D0,第2位对应D1…第8位对应D7。话虽如此,如果大幅度改动了按键顺序的话,重新对位也是个不小的工作量。

不知道你所值的时序偏移是什么意思(抱歉,我入行不久,还没足够的时间让我遇到老化问题【),是指时钟误差?。但是我的理解,74HC165的输出可以看作是SPI协议,它是依靠从MCU往CP脚输出的时钟信号(的上升沿)给出对应输出的。所以快点或者慢点都没关系。

Replies: 3 comments 4 replies

Comment options

You must be logged in to vote
4 replies
@pthuang
Comment options

@pthuang
Comment options

@pthuang
Comment options

@xingrz
Comment options

Answer selected by Mehver
Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
4 participants