Show Posts
Pages: [1] 2 3 ... 14
1  International / Deutsch / Re: Stutter Audio Effekt on: September 27, 2013, 10:56:00 am
1. Kann ein Relais überhaupt so schnell schalten wie ich es benötige?
normalerweise nicht
Quote
2. Verursacht ein Relais ein Geräusch beim öffnen/schließen des Stromkreises, was am Ende womöglich über das Audiosignal übertragen wird?
Wahrscheinlich ja, weil das Prellen des Kontakts Störungen im Audiosignal verursachen dürfte. Fällt aber sowieso wegen Punkt 1. aus
Quote
3. Gibt es eine andere Lösung für mein Vorhaben?
Mir fiele da ein CMOS-Analogschalter-IC wie z.B. der CD4016/HEF4016 ein. Der macht die Geschwindigkeit mit "links" und prellt auch nicht.

Ich weiss ja nicht, wie der Effekt genau sein soll, aber bei dieser Realisierung (egal ob Relais oder 4016), fehlen dir natürlich "Stückchen" im Audiosignal, wenn der Schalter ausgeschaltet wird. Und die kommen auch nicht mehr nach, wenn wieder eingeschaltet wird!

Wenn es mehr als nur Ein-/Auschalten des Audiosignals sein soll, ist meiner meiner Meinung nach der Arduino nicht der richtige Ansatz.

2  International / Deutsch / Re: Funktionen verschachteln on: September 26, 2013, 03:15:11 am
Code:
void f1()
{
f2()
}
Nur solltst du das Semikolon hinter f2() nicht vergessen, sonst geht es nämlich nicht smiley-wink
(aber das war ja wohl nur ein Tippfehler, oder?)
3  International / Deutsch / Re: Zwei Interrupts mit getrennter ISR on: September 16, 2013, 04:24:59 am
hab ihr dann eine Idee wie ich das Laufende Programm verlassen kann und in ein anderes Unterprogramm springen kann?
Der Ansatz mit Interrupt ist doch schon mal gut...
Quote
Da ich in dem Programm was ich benutze einige Delays habe, weiß ich nicht wie ich das sonst schaffe außer mit einem Interrupt.
Delays rausschmeißen, damit sind keine vernünftigen Programme möglich. Stattdessen millis() verwenden, wie schon tausendmal hier im Forum beschrieben (wie es geht, im Arduino-Beispielprogramm "BlinkWithoutDelay" nachschauen).
Dann in der loop() (die jetzt bei einem vernünftigen Programm innerhalb einiger Mikro- oder Millisekunden durchlaufen wird) die Eingangssignale oder ein Flag aus der ISR abfragen und entsprechend verzweigen oder ein Unterprogramm aufrufen.
4  International / Deutsch / Re: Zwei Interrupts mit getrennter ISR on: September 16, 2013, 03:49:18 am
eine Frage noch zum Interrupt.
wenn er die ISR abgearbeitet hat, wo springt her hin? Wider in an die alte Programm stelle?
Ja, genau an die Stelle, an der das laufende Programm durch den Interrupt unterbrochen (daher der Name Interrupt) wurde.
Quote
Wenn ja, kann ich das änder so das er in die haupt Loop springt?
Mit den normalen Mitteln nicht. Das widerspricht auch dem Gedanken des Interrupts.
Mit ein paar Assemblerbefehlen könnte man zwar die Rücksprungadresse auf dem Stack ändern, aber das ist ganz großes bah, bah, bah und setzt doch einige Kenntnisse des Controllers und der Assemblerprogrammierung voraus.

Außerdem wird sich der Controller beim Auftreten des Interrupts sowieso zu mindestens 99,999% Wahrscheinlichkeit in der loop() befinden und dorthin wieder zurückspringen.
Ansonsten sähe ich noch die Möglichkeit, in der ISR ein Flag zu setzen und dies in der Main-Loop abzufragen, um dann die Programmausführung an einer bestimmten Stelle fortzusetzen.


5  International / Deutsch / Re: Schaltplan gesucht für Lautsprecher an Arduino bis 80-100W on: June 10, 2013, 02:14:56 pm
Uwe,
du konntest auch schon mal besser Wurzelziehen  smiley-wink

28,28 Volt passt da besser.
6  International / Deutsch / Re: KSQ PWM Signal Summt... on: May 07, 2013, 04:25:46 am
Steuerst du die KSQ's mit einem PWM Signal oder analog an? Weil, du hast ja was von alalog write geschrieben.
Hallo Gerald,
nur zur Info und weil es immer wieder mal falsch interpretiert wird:

analogWrite() erzeugt trotz des Namens ein PWM-Signal mit variablem Ein-/Aus-Verhältnis. Erst nach einem RC-Glied (Tiefpass) erhält man daraus einen analogen Spannungswert.
7  International / Deutsch / Re: Abfrage eines char-array nach einer "Zeichenkette" on: April 29, 2013, 02:29:35 pm
Aber dazu muss ich meinen char array mit einer "/0" terminieren oder?
Unbedingt! Die ganzen Funktionen für C-Strings (char-Array) funktionieren nur mit einem ordentlich abgeschlossenen ('\0') char-Array. Sonst rauschen sie hemmungslos über das Ende hinaus... smiley-wink
Quote
Ah ich hab gerade dein Beispiel gesehen. Da brauch ich gar keinen Pointer mehr?
Den Pointer brauchst du nur, wenn du wissen willst, ab welcher Stelle die beiden Strings übereinstimmen. Ansonsten (wenn keine Übereinstimmung da ist), hat der Pointer den Wert NULL, was nie eine gültige Adresse für einen Zugriff ist.
8  International / Deutsch / Re: Abfrage eines char-array nach einer "Zeichenkette" on: April 29, 2013, 02:06:24 pm
Kann man das auch etwas einfacher machen. Also nicht jedes char[.] abklappern, sondern direkt nach 'abc' abfragen?
Wie wär's mit strstr():
 http://home.fhtw-berlin.de/~junghans/cref/FUNCTIONS/strstr.html
(inklusive Beispiel)

Code:
...
char  gesuchterTeilstring[]="abc";

if (strstr(packetBuffer, gesuchterTeilstring) != NULL)
    {
     TextinString = true;
    }
...
9  International / Deutsch / Re: Oszilloskop on: April 11, 2013, 02:21:04 pm
Udo, danke für den Hinweis auf diesen sehr aufschlussreichen Artikel. Da bleibe ich wohl bei meinem Hameg HM412:

http://www.google.de/imgres?imgurl=http://www.radiomuseum.org/images/radio/hameg_gmbh_frankfurt/oszilloskop_hm412_5_458866.jpg&imgrefurl=http://www.radiomuseum.org/r/hameg_oszilloskop_hm412_5hm_412.html&h=375&w=404&sz=32&tbnid=MHpG5J4mWT6whM:&tbnh=93&tbnw=100&prev=/search%3Fq%3Dhameg%2Bhm412%26tbm%3Disch%26tbo%3Du&zoom=1&q=hameg+hm412&usg=__2qpjNEgy5ETdo2cfZuy1cQMkVk8=&docid=RMmn500VONWX7M&hl=de&sa=X&ei=WQxnUce5AoWR4ATn4IDwCQ&sqi=2&ved=0CDkQ9QEwAg&dur=729
10  International / Deutsch / Re: Arduino IDE und externer Editor on: April 11, 2013, 01:57:36 pm
Es gibt Leute, die benutzen Eclipse oder ein Visual Studio (Express ist gratis) mit Arduino plugin anstelle der IDE.
Hauptsächlich aus solchen Gründen, denke ich.
Quote
Ach ja: ich hab vergessen zu erwähnen, daß ich Windoofs-User bin...

Dann nehmen wir doch direkt das Atmel Studio 6. Da wird die grafische Oberfläche des Microsoft Visual Studio (ohne C#-, C++ oder Visual Basic Compiler und die ganzen anderen .NET-Sachen) als ganzheitliches Paket ohne spezielle Plugins benutzt, um die AVR-Toolchain mit Compiler, Assembler, Linker, Make, Debugger  (Simulator) usw. aufzurufen und vor allem hat man einen hervorragenden Editor mit Syntax-Highlighting, Codevervollständigung, Intellisense, und vielen anderen schicken Features.
11  International / Deutsch / Re: embedded processor auslesen? on: April 11, 2013, 03:19:04 am
Ob eine Atmel-Studio Version das Auslesen ggf. auch unterstützt, bin ich überfragt. Aber vielleicht kennt sich ja jemand damit aus, ob man das Auslesen einer Hex-Datei mit Atmel-Studio vielleicht auch nur mit einem Mausklick hinbekommt.
Nee, ein paar Mausklicks mehr sind es schon:
Menüpunkt "Tools" -> "Device Programming" -> "AVRISP mkII" anwählen (oder sonst einen Programmer aus dem Hause Atmel) -> Button "Apply" drücken -> Menüpunkt "Memories" anwählen -> Button "Read" -> Dateiname und Pfad für HEX-Datei  auswählen -> Button "Speichern" -> fertig!

Ähnlich geht es auch für das Auslesen des Fuses und der Lockbits. Nur werden die halt nicht in eine Hex-Datei geschrieben sondern nur angezeigt.

Das ganze funktioniert natürlich nur mit einem von Atmel unterstützten Programmer (aus dem Hause Atmel). Dafür spielt das Atmel-Studio aber perfekt mit den Atmel-Programmern zusammen (auch beim Brennen, Fuse setzen, usw.) und zur Entwicklung von Programmen ist es ein vielfaches besser als die Arduino-IDE (für mich persönlich). Aber das hängt natürlich von den gewünschten Funktionen und der Lernbereitschaft ab.

Ansonsten stelle ich mir natürlich die Frage: was soll's?
Wenn du das Programm auslesen kannst (was wahrscheinlich blockiert ist, weil es der Hersteller nicht möchte!) kannst du relativ einfach das Programm in einen anderen Controller des gleichen Typs brennen. Sinn macht das aber nur, wenn die sonstige Beschaltung um den 2. Controller identisch ist oder was willst du sonst mit dem 2. Controller machen?

Wenn du das Programm ansehen oder ändern willst, wären die weiteren Schritte: Schreiben eines PC-Programms, das das Hex-File liest und in die entsprechen Assembler-Befehle umsetzt (je nach Programmieraufwand dafür, mehr oder minder gut) oder finden eines passenden (und möglichst kostenlosen) Disassemblers in den Weiten des Internets. Verstehen des Assembler-Programms! Ggfs. ändern des Programms in Assembler-Sprache. Das Brennen des geänderten Programms in den Controller ist dann "Peanuts".

Wie schon bereits erwähnt: Aus der Hex-Datei mit vertretbarem Aufwand ein brauchbares C-Programm zu bekommen ist nahezu unmöglich!

Wolfgang


12  International / Deutsch / Re: Bei Variablen selbe Werte aber if schleife wird nicht ausgeführt :smiley-yell: on: April 08, 2013, 05:55:43 am
Und hier noch eine ganz wichtige Info: http://www.if-schleife.de/  smiley-lol
Hallo Mario,
kennst du noch mehr solche lehrreichen, wenn auch etwas minimalistischen, Webseiten zum Thema Programmierung?
Da wird man wenigstens beim Browsen nicht von den wirklich wichtigen Inhalten abgelenkt und man ist auch nicht von der Stoffmenge überfordert! smiley-wink

Gruß
Wolfgang
13  International / Deutsch / Re: Intel Hex Format on: March 24, 2013, 05:06:59 am
Bei Arduinos liegt der Vorteil darin, dass nur eine Textdatei für avrdude erzeugt werden muss,
und kein Nativer Code wie bei einem "echten" Compiler, z.B. gcc.
Die Datei im Intel-Hex Format, die über avrdude in den Controller geflasht wird, ist zwar eine ASCII-Datei aber nichtsdestotrotz enthält sie die einzelnen AVR-Maschinenbefehle für dein Programm (nur eben nicht als Binärdaten, sondern als ASCII-Zeichen mit ein wenig "Drumherum" wie Checksumme, Speicheradresse im Flash, usw.).

Und diese Maschinenbefehle müssen erst einmal sinnvoll aus der "eigenen" Programmiersprache erzeugt werden. Da kommt man nicht drumherum. Dagegen ist der Intel-Hex-Kram nur "Peanuts".
14  International / Deutsch / Re: Intel Hex Format on: March 23, 2013, 03:00:33 pm
Ich würde gerne ein Programm schreiben, welches mir Code für den Arduino
erzeugt, ohne die IDE bzw. fertige Programme zu nutzen. Soll eine kleine
Übung zum PC-Programmieren für mich sein und ich würde gerne Versuchen,
eine eigene Programmiersprache zu entwerfen, welche evtl. auch über das
Internet compilieren kann, ohne Software installiert zu haben.
OK, dafür kann es Sinn machen. Kleine Frage: Im wievielten Semester des Informatikstudiums hat man die Vorlesungen über Compilerbau? smiley-wink smiley-wink smiley-wink

Wenn du noch keine weiteren Informationen hast, hier vielleicht etwas für den Einstieg: http://vhb.fh-regensburg.de/co/
15  International / Deutsch / Re: Intel Hex Format on: March 23, 2013, 02:33:46 pm
ich wollte fragen, ob es genaue Spezifikationen für das
Intel HEX-Format gibt, um "per Hand" zu programmieren.
Das ganze soll dann für den AtMega328 funktionieren.

Ja, z.B hier: http://de.wikipedia.org/wiki/Intel_HEX

Ich bin neugierig! Was verstehst du unter "per Hand" programmieren und wofür soll das gut sein?
Pages: [1] 2 3 ... 14