Hallo, kann mir jemand vom Schlauch helfen? Wieso klappt die
Verschachtelung nicht (Müll landet in Var)?
1 | #define BCD2BIN(b) (((b)&0xf) + ((b)>>4)*10)
|
2 |
|
3 | U8 read_iic_ack(void){...return U8;}
|
4 |
|
5 | void read_RTC(void){
|
6 | U8 Var;
|
7 | Var = BCD2BIN(read_iic_ack());
|
8 | }
|
Aber folgendes funktioniert super?
1 | #define BCD2BIN(b) (((b)&0xf) + ((b)>>4)*10)
|
2 |
|
3 | U8 read_iic_ack(void){...return U8;}
|
4 |
|
5 | void read_RTC(void){
|
6 | U8 Var;
|
7 | Var = read_iic_ack();
|
8 | Var = BCD2BIN(Var);
|
9 | }
|
BTW, folgendes klappt perfekt:
1 | #define BIN2BCD(b) (((b)%10) | (((b)/10)<<4))
|
2 | ...
|
3 | write_iic(BIN2BCD(Var));
|