From: pito <pi...@vo...> - 2012-05-14 15:26:21
|
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" <pi...@vo...> Komu: amf...@li... 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/ > Amf...@li... > https://lists.sourceforge.net/lists/listinfo/amforth-devel > |