Arduino我想把8个io口读到的值放到一个字节里,应该怎么写

如题所述

什么arduino板子,是哪8个IO?
如果是uno或者nano或者mini,需要读取的数字口是0~7,那么,PIND里的值就是你要值。
这是因为,arduino的数字接口0~7,对应atmega328的PD0~PD7引脚。
示例:

uint8_t Read(void)
{
    return PIND;
}


如果若非上面的情况,那可以这样:
打比方说,需要读取的数字口是3~10,示例如下:

uint8_t Read(void)
{
    uint8_t tmp;
    tmp = 0;
    tmp |= (digitalRead(3)  << 0);
    tmp |= (digitalRead(4)  << 1);
    tmp |= (digitalRead(5)  << 2);
    tmp |= (digitalRead(6)  << 3);
    tmp |= (digitalRead(7)  << 4);
    tmp |= (digitalRead(8)  << 5);
    tmp |= (digitalRead(9)  << 6);
    tmp |= (digitalRead(10) << 7);
    return tmp;
}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网