A simple test on fastio.lib (there is no correction on the do-loop
timing).
The result is the duration of one loop (out of 10.000 loops).
----------------------------------------------------------------------------------------------------------
Measured @11.0592MHz fcpu, atmega1284p, amforth 4.9 trunk.

> printdate.rtc
2012/05/14-MON-13:04:31 ok

/ portpin: is used for an individual pin only (0-7)

> PORTA 7 portpin: PA.7
ok
> PA.7 pin.o
ok

> : test1 timer-start 10000 0 do PA.7 pin.l PA.7 pin.h loop
> timer-stop 10000 s>f
> f/ fs. ;
ok
> test1
4.14815E-5  ok  ( 41 usec)

> : test2 timer-start 10000 0 do 128 PORTA pin.l 128 PORTA pin.h
> loop timer-stop
> 10000 s>f f/ fs. ;
ok
> test2
3.43704E-5  ok  ( 34 usec)

> : test3 timer-start 10000 0 do 128 34 pin.l 128 34 pin.h loop
> timer-stop 10000
> s>f f/ fs. ;
ok
> test3
3.43704E-5  ok  (34 usec)


The port! (written in asm) is the same as the portpin! (forth)

/ bitmask: is used for bits masks ($00-$FF)

> PORTA $F0 bitmask: PA.HNIB
ok
>  PA.HNIB pin.o
ok

> : test7 timer-start 10000 0 do $88 240 34 port! $33 240 34 port!
> loop timer-st
> op 10000 s>f f/ fs. ;
ok
> test7
4.56296E-5  ok  (46usec)
> 

> : test5 timer-start 10000 0 do $88 PA.HNIB port! $33 PA.HNIB port!
> loop timer-
> stop 10000 s>f f/ fs. ;
ok
> test5
5.15556E-5  ok  (52usec)
> 
ok

> : test6 timer-start 10000 0 do $88 PA.HNIB portpin! $33 PA.HNIB
> portpin! loop 
> timer-stop 10000 s>f f/ fs. ;
ok
> test6
1.54667E-4  ok  (155usec)

>  : test-loop timer-start 10000 0 do loop timer-stop 10000 s>f f/
>  fs. ;
>  ok
> test-loop
6.51852E-6  ok  (6.5usec)
> 


----- PŮVODNÍ ZPRÁVA -----
Od: "pito" <p...@volna.cz>
Komu: amforth-devel@lists.sourceforge.net
Předmět: [Amforth] Fast pin I/O lib in asm - new names
Datum: 14.5.2012 - 13:25:55

> Hi, some time back I posted here the fastio.asm
> lib for building
> into amforth. I did a refresh recently and changed
> the names of the
> words - ie:
> 
> pin.l  pin.h  pin.l?  pin.h?  pin.t  pin.o  pin.i 
> port!  port@ 
> port,h?  port.l? (portpin:)
> 
> The portpin: portpin! and bitmask: and few others
> (set pullups,
> pulse) are still written in forth (in
> bitnames.frt). The (portpin:)
> is now in asm  for does>  part of portpin: and
> bitmask:.
> 
> So if you are interested and happy with the new
> names I may provide
> Matthias with the source. The lib is written in
> asm based upon
> resources find in amforth and LubosP repositories
> (which were
> written in forth or Lubos' asm for amforth).
> P.
> 
> 
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> Exclusive live event will cover all the ways
> today's security and 
> threat landscape has changed and how IT managers
> can respond. Discussions 
> will include endpoint security, mobile security
> and the latest in malware 
> threats.
> http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Amforth-devel mailing list for
> http://amforth.sf.net/
> Amforth-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amforth-devel
> 


------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to