Можно, но будет нечитабельно... В общем, отказался от отдельных
макросов для битов, а для байтов - свои проктопотоки. PT_THREAD(OW_write_byte(struct pt *pt, uint8_t databyte)) {
static uint8_t i;
PT_BEGIN(pt);
for(i = 1; i <= 0x80; i <<= 1) {
if(databyte & i) {
OW_bit_0();
OW_DELAY(10);
OW_bit_1();
OW_DELAY(60);
OW_bit_1();
OW_DELAY(10);
}
else {
OW_bit_0();
OW_DELAY(10);
OW_bit_0();
OW_DELAY(60);
OW_bit_1();
OW_DELAY(10);
}
}
PT_EXIT(pt);
PT_END(pt);
}