Startup files for STM32F4xx
Jens Bauer via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Apr 25 12:55:25 PDT 2015
On Saturday, 25 April 2015 at 19:33:05 UTC, Johannes Pfau wrote:
> Am Sat, 25 Apr 2015 18:31:45 +0000
> schrieb "Jens Bauer" <doctor at who.no>:
>>
>> I don't want to start another volatile discussion, but to me
>> it seems an attribute would not be a bad idea.
>> -And for completeness... read-only, write-only, read/write and
>> perhaps even 'prohibited access'. I recall that something was
>> marked prohibited in some way in a library once; I forgot how
>> they did it, though.
>
> volatileLoad is not in gdc yet. I've written the code some
> months ago
> but I need to update it and then it needs to be reviewed.
I might be able to do a few tests, but I don't feel qualified for
code reviewing at this time. ;)
> Always using volatileLoad/Store is annoying. The solution is to
> write a wrapper:
I was hoping for something in that direction.
> Volatile!size_t value;
{snip}
> Usage:
> auto b = PORTB.load();
> PORTB.toggle!"PIN0";
> PORTB.PIN0 = Level.low;
> writeln(PORTB.PIN0);
> PORTB.TEST = 0b000;
It is much more convenient to use it this way, yes; I think it
will cover most needs.
Regarding performance: If a real high time-critical speed is
needed, people would probably use assembly code anyway. ;)
More information about the Digitalmars-d-learn
mailing list