Ja, sieht so aus. Es gibt sicher zahllose Beispiele um zwei Bytes zu einem Word zusammenzulöten.... ret = (TempH * 1 + TempL /256); // <===Noch nicht gut! ...
(M)Eines wäre:
Die Makrodefiniton muss halt an irgendeiner Stelle deponiert werden - das ist Deine Freiheit. Ohne Makro gehts natürlich auch.Code:// ============================================================================== = // ============================================================================== = void I2CTST01 (void) // I2C-Testroutine ... uint8_t btst1 = 0; // Read-back-Byte vom Slave uint8_t btst2 = 0; uint8_t btst3 = 0; ... btst2 = i2c_read (ACK); // btst3 = i2c_read (ACK); // ... //#define uniq(LOW,HEIGHT) ((HEIGHT << 8)|LOW) // ###>>> Macro 2x 8Bit --> 16Bit iword = uniq(btst3, btst4); // 2à 8Bit --> 16Bit itoa(iword, zahlwort, 10); // uart_puts("\tWert für Word4high3low\t"); // Ausgabe uart_puts(zahlwort); // ... // === Ende I2CTST01 (void) ============================ // ============================================================================== =







Zitieren


Lesezeichen