From: "Rego, P." <pvrego@gmail.com>
Subject: Re: AVR Usart send number string with no 'Image
Date: Mon, 29 Apr 2013 20:00:45 -0700 (PDT)
Date: 2013-04-29T20:00:45-07:00 [thread overview]
Message-ID: <751e142a-46d3-45da-8dba-e338c273eeeb@googlegroups.com> (raw)
In-Reply-To: <db779ec0-cc14-41ed-bd8d-a839a8bf4f06@googlegroups.com>
On Friday, April 26, 2013 6:10:27 PM UTC-3, Shark8 wrote:
> I rewrote it iteratively; I'm pretty sure an extended return doesn't require the second-stack so you should be fine.
> declare
> Subtype String_3 is String(1..3);
> use Interfaces;
> -- Because the secondary stack is disabled we cannot use either of
> -- (a) recursion, or (b) unconstrained return-types. Therefore we
> -- need to work both iteratively and with fixed-length strings.
> Function To_String( Input : Unsigned_8 ) Return String_3 is
> -- A temporary variable for manipulation, initialized to input.
> Working : Unsigned_8 := Input;
> begin
> -- Extended return, we do not have to initialize any characters
> -- because they will be in range '0'..'9' with leading zeros.
> Return Result : String_3 do
> -- We assign the digit it's proper value, based on its
> -- position within the string.
> For Digit in reverse Result'Range loop
> Result(Digit):= Character'Val(
> -- We add the mod 10 value of working
> -- to the value of '0' to get the proper
> -- digit-character.
> Natural(Working mod 10) +
> Character'Pos('0')
> );
> -- We adjust our working-variable, by dividing it by 10.
> Working:= Working / 10;
> end loop;
> end return;
> End To_String;
> -- Testing variable.
> Temp : Natural := 4;
> begin
> -- Test
> while Temp < 256 loop
> Ada.Text_IO.Put_Line( To_String( Unsigned_8(Temp) ) );
> Temp:= Temp *2;
> -- I want to end w/ 255, not 128.
> Temp:= (if temp = 256 then 255 else temp);
> end loop;
> end;
Thanks Shark8, it very worked! Also thanks for your comments.
next prev parent reply other threads:[~2013-04-30 3:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-25 1:27 AVR Usart send number string with no 'Image Rego, P.
2013-04-25 2:03 ` Shark8
2013-04-25 10:55 ` Rego, P.
2013-04-26 2:28 ` Rego, P.
2013-04-26 5:50 ` Simon Wright
2013-04-30 2:58 ` Rego, P.
2013-04-26 14:52 ` Shark8
2013-04-26 21:10 ` Shark8
2013-04-30 3:00 ` Rego, P. [this message]
2013-04-25 4:54 ` rrr.eee.27
2013-04-25 10:58 ` Rego, P.
2013-05-01 20:35 ` Rego, P.
2013-05-01 21:00 ` Simon Wright
2013-05-01 22:07 ` Rego, P.
2013-05-01 22:30 ` Jeffrey Carter
2013-05-01 22:46 ` Rego, P.
2013-05-01 23:29 ` Dennis Lee Bieber
2013-05-01 22:32 ` Shark8
2013-05-01 23:00 ` Rego, P.
2013-05-01 23:09 ` Shark8
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox