Search found 443 matches

by cfbsoftware
Thu Sep 08, 2011 1:09 pm
Forum: Oberon Language
Topic: Further revision of Oberon-07
Replies: 26
Views: 168490

Re: Further revision of Oberon-07

In the last couple of weeks we have been investigating the changes required to conform to the 2011 Revision of the Oberon-07 report and have already implemented one or two in the development version of the compiler. We plan to replace support for the 2008 language definition with the 2011 language d...
by cfbsoftware
Wed Aug 31, 2011 12:34 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Not getting the right Frequency...
Replies: 5
Views: 36235

Re: Not getting the right Frequency...

The value of m must be less than n when you use a SET range {m .. n} i.e. m .. n is a shorthand for m, m+1, ... , n-1, n. Currently the compiler does not object but as a result of this report we will modify it so that it reports an error message when this error is detected in the future. When I chan...
by cfbsoftware
Mon Aug 29, 2011 10:18 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Not getting the right Frequency...
Replies: 5
Views: 36235

Re: Not getting the right Frequency...

Post your message again with the original code formatting preserved - it's difficult to comprehend without it. To preserve the formatting, select your code after pasting it into your message and click on the 'Code' pushbutton beneathe the Subject line. If you do that, instead of: IF (PLLCBit IN bits...
by cfbsoftware
Sun Aug 14, 2011 10:04 pm
Forum: Astrobe for ARM Cortex-M0, M3, M4 and M7
Topic: Request for Tools option in Converter
Replies: 2
Views: 21863

Re: Request for Tools option in Converter

Good idea - something we have recently been looking for ourselves. In the meantime, if you are using Windows 7 try the standard Calculator application. It has been enhanced to include a programmer's mode which gives you those conversions.
by cfbsoftware
Tue Jul 26, 2011 1:30 pm
Forum: Getting Started
Topic: IRQTimer.mod:TimerHandler:"Update vic priority
Replies: 3
Views: 25463

Re: IRQTimer.mod:TimerHandler:"Update vic priority

Yes. This is also specified in section 7.7 "VIC Usage Notes" in UM10139: Also, before the next interrupt can be serviced, it is necessary that write is performed into the VICVectAddr register before the return from interrupt is executed. This write will clear the respective interrupt flag in the int...
by cfbsoftware
Sat Jul 23, 2011 4:03 am
Forum: Oberon Language
Topic: STRUCTURE ALIGNMENT
Replies: 2
Views: 19933

Re: STRUCTURE ALIGNMENT

Arrays and records in ARM Oberon-07 are allocated memory in multiples of four bytes. You can use SYSTEM.SIZE to find out how much storage each data type occupies. e.g. SYSTEM.SIZE(ZAP) returns 20 (12 + 4 + 4). If you are reading data from a binary file created on another system you will need to trea...
by cfbsoftware
Fri Apr 01, 2011 12:43 pm
Forum: Oberon Language
Topic: Exit mid-loop
Replies: 2
Views: 16548

Re: Exit mid-loop

Code: Select all

  REPEAT
    ...
    IF ~error THEN
      ...
    END
  UNTIL ... OR error;
by cfbsoftware
Wed Mar 30, 2011 11:29 pm
Forum: Getting Started
Topic: Code for GPIO
Replies: 1
Views: 19727

Re: Code for GPIO

Hi, please could you show me a code example for testing the state of a single input pin? For examples see the discussion reading status inport in the Development Boards section of this forum: http://www.astrobe.com/forum/viewtopic.php?f=7&t=60 While I'm at it, it would be very helpfull to have exam...
by cfbsoftware
Sat Mar 26, 2011 11:07 pm
Forum: Oberon Language
Topic: Shifts and masks
Replies: 3
Views: 20864

Re: Shifts and masks

Yes - of course. Sorry about the blooper! With the benefit of hindsight, it might be clearer to write it as two separate statements: R := LSL(value, 16); R := LSR(R, 22); If this form is used in a leaf procedure you do not need to worry about efficiency as it generates code which is identical to the...
by cfbsoftware
Mon Mar 21, 2011 9:35 pm
Forum: Oberon Language
Topic: Convert INTEGER to SET
Replies: 4
Views: 26008

Re: Convert INTEGER to SET

If you want to typecast an INTEGER variable to a SET variable use the general typecasting function SYSTEM.VAL. e.g. VAR s: SET; i: INTEGER; s := SYSTEM.VAL(SET, i); Examples: i = 0, s = {} i = 8, s = {3} i = 0FH, s = {0..3} i = 0AAH, s = {1, 3, 5, 7} i = 055H, s = {0, 2, 4, 6} Note that this doesn't...