INFO - FAQ - CC2-Forum - CCPro-Forum |
Danke an alle fĂŒr das rege Interesse! An Georg: Die 2.0 ist schon schneller, aber evtl. kannst Du ja Werte fĂŒr die M-Unit beisteuern? Das wĂ€re toll. Also zum Test interessiert mich (und evtl. auch andere), wie schnell man Ports schalten und lesen kann und wie schnell man die gelesenen Daten auch wieder los wird, sprich im Chip speichern kann, und wie schnell man den AD lesen kann (vorausgesetzt natĂŒrlich der AD-Schaltkreis macht mit..). Damit keine MiĂverstĂ€ndnisse aufkommen: fĂŒr meine aktuellen Zwecke ist die M-Unit 2.0 schnell genug (und das Modulkonzept ist recht gut gelungen, ich hab sie ja weil ich nicht so viel Ă€tzen und löten will :-), es wĂ€re nur schön zu wissen ab welchen Frequenzen man ausweichen muĂ.. Also folgende Testprogramme (die Bascom - syntax kenne ich leider nicht, aber es sollte fĂŒr einen Profi kein Problem sein zu adaptieren) Ich bin gespannt auf die Zeiten 1-7 von der M-Unit (vor 2.0) und von AVR mit Bascom. 'Benchmark - Test define i word define j word 'fĂŒr 2 verschachtelte Schleifen bis 100000, wenn es zu schnell geht ggf. * n nehmen und Zeit / n, so daĂ sich die Zeit gut messen lĂ€Ăt und dann durch Anzahl der SChleifendurchlĂ€ufe teilen.. define p port[9] define bp byteport[1] define b1 byte define ad1 AD[1] beep 11,2,1 'Signalisierung Zeit 1 lĂ€uft for i = 1 to 100 for j = 1 to 1000 'Zeit fĂŒr For-Schleifen messen next j next i beep 11,2,1 'Signalisierung Zeit 2 lĂ€uft for i = 1 to 100 for j = 1 to 1000 'Port setzen, fĂŒr die Reine Port-Zeit Zeit 1 spĂ€ter subtrahieren p = ON next j next i beep 11,2,1 'Signalisierung Zeit 3 lĂ€uft for i = 1 to 100 for j = 1 to 1000 'byteport setzen, fĂŒr die Reine Port-Zeit Zeit 1 spĂ€ter subtrahieren bp = &H55 next j next i beep 11,2,1 'Signalisierung Zeit 4 lĂ€uft for i = 1 to 100 for j = 1 to 1000 'byteport lesen, fĂŒr die Reine Port-Zeit Zeit 1 spĂ€ter subtrahieren b1 = bp next j next i beep 11,2,1 'Signalisierung Zeit 5 lĂ€uft for i = 1 to 100 for j = 1 to 1000 'byteport lesen, fĂŒr die Reine Port-Zeit Zeit 1 spĂ€ter subtrahieren b1 = bp next j next i beep 11,2,1 'Signalisierung Zeit 6 lĂ€uft for i = 1 to 100 for j = 1 to 1000 'AD port lesen, fĂŒr die Reine Port-Zeit Zeit 1 spĂ€ter subtrahieren b1 = ad1 next j next i beep 11,2,1 'Signalisierung Zeit 7 lĂ€uft open# for write for i = 1 to 100 for j = 1 to 1000 'Zeit messen um Werte auf dem Chip zu speichern (schnellste Möglichkeit auf der C-Control) print# j next j close# 'Ăberlauf vermeiden auf der C-Control (max. 10KB-Programm) open# for write next i close# end > > > > Kommt wohl auf die Taktfrequenz und das Programm an. Da BASCOM-AVR ein echter Compiler ist, > > sollte der Code aber immer schneller sein, da ja der Interpretationsvorgang im Prozessor selbst wegfĂ€llt. > > Schick mir doch mal ein (kleines) Programm, das du fĂŒr Testzwecke geeignet hĂ€st. > > Hallo > Das stimmt natĂŒrlich schon (prinzipiell), aber der Zeitanteil, das Token zu lesen und dann > zu verabeiten dĂŒrfte etwa 1:10 sein, was heisst, dass die Interpretation einen "unwesentlichen" > Zeitverlust bedeutet. > Ich habe zu dem Thema keine weiteren Einzelheiten gefunden, fĂ€nde das aber doch interessant > wenn es jemand mal untersucht, der mit BASCOM arbeitet. > Ich schreibe gerade an der OS V 2.03 (sie wird > 20.000 I/s sein, aber viel mehr geht dann nicht mehr) > > ciao... |
Antwort schreiben |