-
          
	
		
		
	
	
	
	
	
		
			
- 
	
	
		
			
			
				Neuer Benutzer
			
			
				Öfters hier
			
			
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
				
					Tasten am Rn-Control wie abfragen
				
				
						
							
							
						
						
				
					
						
							Hallo zusammen,
bin absoluter Neueinsteiger und hab deshalb ne richtige Anfängerfrage. Habe ein RN-Control aufgebaut. Die Tastenabfrage über StartADC, GetADC usw. kapiere ich soweit und die funktioniert auch. Aber nun zu meiner Aufgabenstellung:
Ich hab einen Schrittmotor angeschlossen (bipolar ohne RN-Motor) und dieser läuft auch einwandfrei. NUR: die Tastenabfrage über GetADC dauert einfach zu lange. Ich möchte auf eine Taste drücken und den Motor laufen lassen, bis die Taste wieder losgelassen wird. Dadurch, daß die Implementierung über GetADC gemacht wird, dauert es einfach zu lange bis ich wieder in die Routine komme um den Schrittmotor einen Schritt weiter zu bringen. Ergo -> es kommt kein Seidenweicher Lauf zusammen. Das liegt definitiv nicht an der Ansteuerung des Motors selbst. Denn wenn ich den in einer Loop ohne die Tastenabfrage drehen lasse, schnurrt er wie ein "Kätzchen". 
Ich muß also die Tastenabfrage irgendwie anders implementieren. Nur wie? Wahrscheinlich Interrupt-gesteuert, oder?
Danke schon mal,
Harry
PS: Ich wollte meinen Scrhittmotorcode als Beispiel uploaden, ging aber nicht. Es haben nämlich bereits einige hier nach einem Beispiel diesbezüglich gefragt. Hab das ganze dem Frank geschickt. Der stellt das hoffentlich rein. Wenn nicht, mich anmailen.
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
- 
	
	
		
			
			
				Administrator
			
			
				Robotik Visionär
			
			
			
			
			
				
			
			 
			
				
				
				
				
				
					    
				
			
		 
		
			
				
				
						
						
							
						
				
					
						
							Upload hat schon geklappt. Dauert nur etwas bis ich es sehe und freigeschaltet hab.
Du findest es nun hier:
https://www.roboternetz.de/phpBB2/dl...gory&cat_id=30
Um Deine Aufgabe zu erfüllen muss man mit Timer arbeiten. Eine Timerroutine muss in gewissen Abständen (zum Beispiel 10 mal pro Sekunde) aufgerufen werden. In dieser Routine wird dann ein Schritt gemacht wenn eine bestimmte Variable (nennen wir sie MotorOn) 1 enthält. 
Im Hauptprogramm musst du wie üblich Taste abfragen und nur diese Variable "MotorOn" auf 0 oder 1 setzen, dann klappts.
Beschäftige dich mal ein wenig mit dem Timer-Interrupt. Schau dir auch mal das PC-Programm an https://www.roboternetz.de/phpBB2/dl...le&file_id=169
Das generiert dir ein Demo das schon fast alles enthält was du brauchst.
Gruß Frank
						
					 
					
				 
			 
			
			
		 
	 
		
	
 
		
		
		
	
 
	
	
	
	
	
	
	
	
	
	
	
	
		
		
		
		
			
				
				Berechtigungen
			
			
				
	
		- Neue Themen erstellen: Nein
 
		- Themen beantworten: Nein
 
		- Anhänge hochladen: Nein
 
		- Beiträge bearbeiten: Nein
 
		-  
 
	
	
	Foren-Regeln
 
			 
		 
	 
 
  
 
  
 
Lesezeichen