<div dir="auto">Hi Wallace,<div dir="auto"><br></div><div dir="auto">What are you trying to do? It sounds like you want to dump the value of tcnt1, a 16-bit register, from the serial port and reconstruct it in Delphi.</div><div dir="auto"><br></div><div dir="auto">When it arrives in Delphi do you want it to be an unsigned int, or a string?</div><div dir="auto"><br></div><div dir="auto">Since you are in control of both ends you can do whatever is easiest. As far as I can see you could serialise the source value to a string of ASCII digits, either hex or decimal and send those (hex is shorter, e.g. FFFF is "FFFF", 4 characters in hex or "65535", 5 characters in decimal). Or you can send two bytes verbatim, e.g. 0xFF 0xFF, 2 characters only.</div><div dir="auto"><br></div><div dir="auto">You probably want a start and end marker too, so the receiver knows how to split up the incoming data stream. If you are sending a string usually you can use \n as an end marker.</div><div dir="auto"><br></div><div dir="auto">The receiving end has to know the format of the incoming data, then read each character and decide what it means.</div><div dir="auto"><br></div><div dir="auto">If you only want a human-readable output and you are sending a string then you are done. Otherwise you need to get the first verbatim byte, shift it left, then OR in the second byte to build a 16-bit value. Once you have this 16-bit value you can do what you like with it.</div><div dir="auto"><br></div><div dir="auto">HTH,</div><div dir="auto"><br></div><div dir="auto">Andrew</div><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">On Sat, 24 Oct 2020, 10:28 Andrew Starr, <<a href="mailto:ajstarr@gmail.com">ajstarr@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Wallace,<br>
<br>
There is support for base64 in the Arduino libraries (if you're using <br>
them). But with base64 you're encoding 3 bytes with 4, so if you're only <br>
sending a single byte per transaction it probably isn't much use to you. <br>
A LUT would certainly be faster, although you're trading code space for <br>
speed - depends on what your priorities are.<br>
<br>
Cheers<br>
<br>
On 24/10/20 10:16 am, Marshland Engineering wrote:<br>
> Hi Andrew.<br>
><br>
> Thanks for the reply. I've just done a few c programs for my own use so not so<br>
> great on this.<br>
> First time I have heard of base64.  Basically I want to send the value of the<br>
> tcnt1 to the PC.<br>
><br>
>  From my reading on base64, it looks like I have to create my own routine for<br>
> this ?<br>
><br>
> Now that you have got me thinking, I can just create my own look up table and<br>
> convert HEX 1,2-F into string "1", "2" etc. That is quite easy and I can then<br>
> send data separator characters as well.<br>
><br>
> Thanks Wallace<br>
><br>
<br>
<br>
_______________________________________________<br>
Chchrobotics mailing list <a href="mailto:Chchrobotics@lists.ourshack.com" target="_blank" rel="noreferrer">Chchrobotics@lists.ourshack.com</a><br>
<a href="https://lists.ourshack.com/mailman/listinfo/chchrobotics" rel="noreferrer noreferrer" target="_blank">https://lists.ourshack.com/mailman/listinfo/chchrobotics</a><br>
Mail Archives: <a href="http://lists.ourshack.com/pipermail/chchrobotics/" rel="noreferrer noreferrer" target="_blank">http://lists.ourshack.com/pipermail/chchrobotics/</a><br>
Meetings usually 3rd Monday each month. See <a href="http://kiwibots.org" rel="noreferrer noreferrer" target="_blank">http://kiwibots.org</a> for venue, directions and dates.<br>
When replying, please edit your Subject line to reflect new subjects.</blockquote></div></div>