找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1741|回復: 9
收起左側

單片機TM1638按健程序問題請教

[復制鏈接]
ID:64817 發(fā)表于 2024-6-4 05:35 | 顯示全部樓層 |閱讀模式
回復

使用道具 舉報

ID:161164 發(fā)表于 2024-6-4 17:45 | 顯示全部樓層
請?zhí)峁┙泳圖
回復

使用道具 舉報

ID:1109793 發(fā)表于 2024-6-4 18:54 | 顯示全部樓層
這不是就只能有8個按鍵嗎?我怎么記得可以支撐很多按鍵的啊。為啥要合成一個字節(jié)?
回復

使用道具 舉報

ID:624769 發(fā)表于 2024-6-4 19:40 | 顯示全部樓層
你確定這是 自帶的測試程序?

        for(i=0;i<4;i++)
                key_value|=c[i]<<i;
        for(i=0;i<8;i++)
                if((0x01<<i)==key_value)
                        break;
        return i;

這兩段 確定不是你自己的 “發(fā)明” ? 我不認為“自帶的測試程序” 能有這樣奇葩的操作……
回復

使用道具 舉報

ID:64817 發(fā)表于 2024-6-5 03:48 | 顯示全部樓層
xiaobendan001 發(fā)表于 2024-6-4 18:54
這不是就只能有8個按鍵嗎?我怎么記得可以支撐很多按鍵的啊。為啥要合成一個字節(jié)?

掃描鍵盤必須是1-4個字節(jié)。他是把每個字節(jié)里有用的按鍵狀態(tài)合為 1個字節(jié)了。
回復

使用道具 舉報

ID:64817 發(fā)表于 2024-6-5 03:48 | 顯示全部樓層
188610329 發(fā)表于 2024-6-4 19:40
你確定這是 自帶的測試程序?

        for(i=0;i


這不是就只能有8個按鍵嗎?我怎么記得可以支撐很多按鍵的啊。為啥要合成一個字節(jié)?
回復

使用道具 舉報

ID:64817 發(fā)表于 2024-6-5 03:51 | 顯示全部樓層
188610329 發(fā)表于 2024-6-4 19:40
你確定這是 自帶的測試程序?

        for(i=0;i

不是我發(fā)明的,他是把4 個字節(jié)的按鍵值換算為1.2.3.4.5.6.7.8.。。這里沒 有錯人用C程序驗算過了
回復

使用道具 舉報

ID:64817 發(fā)表于 2024-6-5 03:56 | 顯示全部樓層
回復

使用道具 舉報

ID:1109793 發(fā)表于 2024-6-5 07:34 | 顯示全部樓層
abeimao 發(fā)表于 2024-6-5 03:51
不是我發(fā)明的,他是把4 個字節(jié)的按鍵值換算為1.2.3.4.5.6.7.8.。。這里沒 有錯人用C程序驗算過了

那你要搞清楚你的按鍵到底應該是哪個對應數字
回復

使用道具 舉報

ID:1109793 發(fā)表于 2024-6-5 08:48 | 顯示全部樓層
abeimao 發(fā)表于 2024-6-5 03:51
不是我發(fā)明的,他是把4 個字節(jié)的按鍵值換算為1.2.3.4.5.6.7.8.。。這里沒 有錯人用C程序驗算過了

我是看不太懂這個合成 的意義。
大概他是只接了8個開關并且接在了K3上面,把四個字節(jié)的合成以后只保留了K3 的部分,然后用一個循環(huán)取到了這個字節(jié)的第某個位,返回的I的意思就是比如第5位是1,那么久返回5,就是代表了K3和KS5之間的按鍵是接通的,好像不對,鍵值i的話應該是0-7,不建議這樣操作,對于一個有效的值,不建議用0來表示,因為寄存器在初始化時就是0.
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表