Werd mal präziser: Welcher Controller/Chip, welche Sprache.
Sorry aber was ist DAC? DA-Wandler?
N' Tach!
Ist hier jemand, der sich gut mit PWM auskennt?
Ich finde kein passendes Tutorial und ich möchte den PWM benutzen als eine Art DAC. (das geht doch oder?)
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Werd mal präziser: Welcher Controller/Chip, welche Sprache.
Sorry aber was ist DAC? DA-Wandler?
Hi,
Bascom-AVR mit dem ATMEGA8 oder ATMEGA128.
DAC=Digital-Analog-Converter
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Gut! Da kann ich dir helfen.
Also der DAC läuft als PWM.
DU benötigst einen Timer. Leider bin ich grad nicht zu Hause, sonst könnte ich dir BeispielCode schicken. Aber vielleicht hast du ja Bascom AVR von Kühnel glaub ich, da steht das drin. Ansonsten musst du mal die Samples durchsuchen, die bei Bascom dabei sind. Leider gibts ja verschiedene Versionen von BAsom mit verschiedenen Samples, in der älteren Version ist auf jeden Fall ein Beipiel dabei, in der neuren bestimmt auch. Schau mal durch, wirt ja PWM heißen oder so. Ansonsten schick ich dir den Code. ICh kann allerdings nciht versprechen, dass das heute noch klappt.
MFG Moritz
Bei den Application Notes iss ja kein Codebeispiel dabei und das inner Bascom Hilfe kapier ich nicht.
Vielleicht kannste mir dein Prog doch nochmal schicken muss aber nicht heute sein bloß keine eile
Martin
Linus Torvalds, Entwickler von LinuxIch will Microsoft wirklich nicht zerstören. Das wird nur ein gänzlich unbeabsichtigter Nebeneffekt sein.
Nein, tatsächlich nicht
ICh schick dir das dann mal vorbei.
Hier das Prog, ich bin allerdings sicher, dass das einfacher geht.
Code:Const True = 1 Const False = 0 Dim Hi As Byte Dim Lo As Byte Dim A As Byte Dim Phase As Bit Dim Pattern As Byte ' Bit pattern for display Pwm Alias Portb.0 ' Modulated Pin Config Timer0 = Timer , Prescale = 64 ' Rate 244 Hz at 4 MHz Clock On Timer0 Timer0_isr ' Jump to Timer1 ISR Config Portb = Output Enable Timer0 ' Enable the timer interrupt Enable Interrupts ' Enable Global Interrupt Lo = 128 ' Initial value for PWM Phase = True Do A = Pind ' Ask for Key Select Case A Case &B11111110 : Lo = 0 ' Lo Time short, Hi Time long Case &B11111101 : Lo = 32 Case &B11111011 : Lo = 64 Case &B11110111 : Lo = 96 Case &B11101111 : Lo = 128 Case &B11011111 : Lo = 160 Case &B10111111 : Lo = 192 Case &B01111111 : Lo = 255 ' Lo Time long. Hi Time short End Select Hi = 255 - Lo Incr Pattern ' Change Bit Pattern Waitms 100 ' Wait 100 ms Loop End Timer0_isr: If Phase = True Then Portb = &HFF ' LED off Timer0 = Lo ' Reload Timer0 Phase = False Else Portb = Not Pattern ' LED on Timer0 = Hi ' Reload Timer0 Phase = True End If Return
Ich verweise jetzt einfach mal auf:
https://www.roboternetz.de/phpBB2/vi...?p=33277#33277
denn da versuche ich grad das Problem zu lösen.
Lesezeichen