Hallo, ich möchte gerne auf einer LED Matrix Werte Variable Werte darstellen (300 - 2000). Zehner und Einer kann ich schon darstellen. Wie bekomme ich es am klügsten hin, Dezimal Zahlen in ASCII umzuwandeln? Die Zahlen sollten dann in einem String verpackt werden. Hier ein Beispiel, wie ich es im moment erledige...
1 | dec_hex_temp[0] = (temp / 10 ) << 4; // Zehner |
2 | dec_hex_temp[1] = (temp % 10 ); // Einer |
3 | hex_tmp = dec_hex_temp[0] | dec_hex_temp[1]; |
4 | |
5 | /* BCD to ASCII */
|
6 | temperature[0] = 'T'; |
7 | temperature[1] = 'e'; |
8 | temperature[2] = 'm'; |
9 | temperature[3] = 'p'; |
10 | temperature[4] = 'e'; |
11 | temperature[5] = 'r'; |
12 | temperature[6] = 'a'; |
13 | temperature[7] = 't'; |
14 | temperature[8] = 'u'; |
15 | temperature[9] = 'r'; |
16 | temperature[10] = ':'; |
17 | temperature[11] = ' '; |
18 | temperature[12] = (hex_tmp >> 4 ) + 0x30; |
19 | temperature[13] = (hex_tmp & 0x0F) + 0x30; |
20 | temperature[14] = ' '; |
21 | temperature[15] = '°'; |
22 | temperature[16] = 'C'; |
23 | temperature[17] = '\0'; |