Man muss das Format nicht umwandeln. Die 7-malige Division durch 10 ist völlig unnötig.
Und wie sieht es aus, wen ich die Zeit ausgeben will, ich denke kaum, das ich da auf eine Umwandlung verzichten kann ?
Man muss das Format nicht umwandeln. Die 7-malige Division durch 10 ist völlig unnötig.
Mathias hat geschrieben:Und wie sieht es aus, wen ich die Zeit ausgeben will, ich denke kaum, das ich da auf eine Umwandlung verzichten kann ?
Code: Alles auswählen
procedure ReadDS3231neu(addr: UInt16);
begin
TWIStart((addr shl 1) or TWI_Write);
TWIWrite(0);
TWIStop;
TWIStart((addr shl 1) or TWI_Read);
Date.second := TWIReadACK_Error and $7F;
....
end;
begin
....
ReadDS3231neu(I2CAddr);
UARTSendString('Sec: ');
UARTSendChar(char((Date.second shr 4) + 48));
UARTSendChar(char((Date.second and $0F) + 48));
Es wäre hilfreich, wenn man eine Unit mit so typischen Arduino-IDE-Befehlen wie "DigitalRead", "DigitalWrite", "AnalogRead", "AnalogWrite", "Delay" etc. hätte
Mathias hat geschrieben:Es wäre hilfreich, wenn man eine Unit mit so typischen Arduino-IDE-Befehlen wie "DigitalRead", "DigitalWrite", "AnalogRead", "AnalogWrite", "Delay" etc. hätte
Wäre machbar, aber genau dies wollen wir vermeiden, mit den direkten Zugriffe, weis man genau, was man macht.
Wen du mal das hier durchliest: https://wiki.freepascal.org/AVR_Embedde ... _output/de , wirst du sehen, das es mit Pascal einfacher ist, als mir Arduino C++.
Sehe ich total anders. Warum programmierst du das Ding nicht gleich in Assembler? "Da weiß man genau, was man macht."
wp_xyz hat geschrieben:Es wäre hilfreich, wenn man eine Unit mit so typischen Arduino-IDE-Befehlen wie "DigitalRead", "DigitalWrite", "AnalogRead", "AnalogWrite", "Delay" etc. hätte
wp_xyz hat geschrieben:Sehe ich total anders. Warum programmierst du das Ding nicht gleich in Assembler?