找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1615|回復: 3
打印 上一主題 下一主題
收起左側

如何把單片機IO口電平狀態(tài)寫到數組?

[復制鏈接]
跳轉到指定樓層
樓主
ID:709761 發(fā)表于 2022-11-11 07:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
每隔2毫秒讀取IO口電平狀態(tài),寫到4個字節(jié)的數組里,寫32次
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:824490 發(fā)表于 2022-11-11 17:26 | 只看該作者
好問題!最基本的知識了。能檢測到一個按鍵,就差不多可以了。然后定義一個32位的變量,2ms讀一次鍵值,存入變量、移位。for()32次就成了。
回復

使用道具 舉報

板凳
ID:77589 發(fā)表于 2022-11-14 11:17 | 只看該作者

typedef union{
        unsigned char array_res[4];
        unsigned int uint32_res;
}
Result_t;

Result_t Result ={0};

// 下面兩種保存自己選擇
// 一、數據由高到低保存
for(unsigned char i=0; i<32; i++){
        Result.uint32_res <<= 1;
        if (P1_0 == 1){
                Result.uint32_res |= 1;
        }
        delay_ms(2);
}

// 二、數據由低到高保存
for(unsigned char i=0; i<32; i++){
        Result.uint32_res >>= 1;
        if (P1_0 == 1){
                Result.uint32_res |= 0x80;
        }
        delay_ms(2);
}

// 在Result.array_res中就是你要的數組結果
回復

使用道具 舉報

地板
ID:794544 發(fā)表于 2022-11-14 18:09 | 只看該作者
4個字節(jié)數組,每個字節(jié)八位 4* 8 = 32,可以用每個位代表一次讀取的電平,等讀夠32次后把4個字節(jié)依次存入數據即可
回復

使用道具 舉報

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

本版積分規(guī)則

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

Powered by 單片機教程網

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