Mega32: PortB.4 bis PortB.7 als Ausgang? Kategorie: Programmierung Basic (von Thomas Heike - 14.11.2011 14:00) | ||
| ||
Hallo zusammen, ich habe Schwierigkeiten, die obere Hälfte des PortB einer Mega32 auf Projectboard als Ausgang zu nutzen. Mit einem L293D sollen zwei kleine Motoren abwechselnd gesteuert werden. PortB.3 (Timer 0 Out) habe ich mit allen Enables des L293D verbunden, PortB.4 bis PortB.7 steuern die Richtungs- eingänge der vier Halbbrücken. Dabei funktioniert ein Motor einwandfrei, der andere nur in einer Richtung. Messung ergab, da� PortB.6 auf 5V hängenbleibt, auch wenn er 0V ausgeben soll. Danach habe ich Pulldowns (4,7k) drangelötet. Jetzt: Alle Eingänge wechseln zwischen 0V und 0,5V, gehen also nicht mehr richtig auf High. Mein Verdacht: Die Ports sind gar nicht als Ausgänge aktiv, sondern schalten nur den internen Pullup an und aus. Wie kann das sein, bei folgendem Code? Sub main() Port_DataDirBit(11,1) Timer_T0PWM(1,PS0_64) Port_DataDirBit(12,1) Port_DataDirBit(13,1) Port_DataDirBit(14,1) Port_DataDirBit(15,1) Motortest() End Sub Sub Motortest() Dim PWMWert As Integer Do While 1 Port_WriteBit(12,0) Port_WriteBit(13,1) Port_WriteBit(14,0) Port_WriteBit(15,1) For PWMWert = 1 To 255 Timer_T0PW(PWMWert) AbsDelay(10) Next AbsDelay(1000) For PWMWert = 255 To 1 Step -1 Timer_T0PW(PWMWert) AbsDelay(10) Next Port_WriteBit(12,1) Port_WriteBit(13,0) Port_WriteBit(14,1) Port_WriteBit(15,0) For PWMWert = 1 To 255 Timer_T0PW(PWMWert) AbsDelay(10) Next AbsDelay(1000) For PWMWert = 255 To 1 Step -1 Timer_T0PW(PWMWert) AbsDelay(10) Next End While End Sub | ||
Antwort schreiben Antworten: Re: Mega32: PortB.4 bis PortB.7 als Ausgang? (von Thomas Heike - 14.11.2011 14:35) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum