標題: 如何把單片機IO口電平狀態(tài)寫到數(shù)組? [打印本頁]

作者: 李冬    時間: 2022-11-11 07:41
標題: 如何把單片機IO口電平狀態(tài)寫到數(shù)組?
每隔2毫秒讀取IO口電平狀態(tài),寫到4個字節(jié)的數(shù)組里,寫32次

作者: 名字不是重點    時間: 2022-11-11 17:26
好問題!最基本的知識了。能檢測到一個按鍵,就差不多可以了。然后定義一個32位的變量,2ms讀一次鍵值,存入變量、移位。for()32次就成了。
作者: Longan.Wang    時間: 2022-11-14 11:17

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

Result_t Result ={0};

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

// 二、數(shù)據(jù)由低到高保存
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中就是你要的數(shù)組結(jié)果
作者: z1234561    時間: 2022-11-14 18:09
4個字節(jié)數(shù)組,每個字節(jié)八位 4* 8 = 32,可以用每個位代表一次讀取的電平,等讀夠32次后把4個字節(jié)依次存入數(shù)據(jù)即可




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1