-
Thread
ADC nimmt die falsche Vref obohl richtig eingestellt.
adc.c kann mir bitte jemand weiterhelfen? PS. auf dem ATmega 32 läuft der ADC #include <avr/io.h> #include <avr/interrupt.h> //#include <avr/signal.h> #include "adc.h" /*! * Initialisert den AD-Umsetzer. * @param channel Für jeden Kanal, den man nutzen möchte
Boston, * MA 02111-1307, USA. * */ /*! @file adc.c * @brief Routinen zum Einlesen der AnalogeingÄnge * @author Benjamin Benz (bbe@heise.de) * @date 26.12.05 */ #include <avr/io.h> #include <avr/interrupt.h> //#include <avr/signal.h> #include
-
Thread
Probleme beim Poti über ADC auslesen
Programmier bzw Verkabelungsproblem. Sieht jemand den Fehler? Hier der Code: [c] #include <avr/interrupt.h> #include <avr/io.h> #include <stdio.h> #define F_CPU 16000000 #include <util/delay.h> #define BAUD 250000 #define BAUD_PRESCALLER (((F_CPU / (BAUD * 16UL))) - 1) // Für Terminal
Thgomas T. schrieb im Beitrag #4473542: > //AD Werte einlesen > ISR (ADC_vect) > //############################################################################ > { > > > ADCSRA = 0; > > adc_wert =(unsigned char)(ADC); > > ADCSRA=(1<<ADEN)
-
Thread
Bitfelder
Bitfeldern. Aber zuerst mal zur Ausgangssituation: Wir möchten 64 digitale Eingänge über Multiplexer einlesen. Das klappt mit unserem Testprogramm ganz gut. Mittels einer Schleife lesen wir die Bits in ein (unsigned char) Array ein, das über eine Laufvariable weitergeschaltet wird. Das Unschöne daran: Es
... mybits <<= 1; // um 1 schieben, 0 reinschieben if( PINA & 1<<PA7 ) // Eingang ist Pin7 von Port A mybits |= 1; // Pin übernehmen. ... [/C] Nochn Tip: Das Einlesen geht über Schieberegister (74HC165) viel einfacher, als über Multiplexer. Peter
-
Thread
Wenn Ihr neue Projekte angeht, wie mach Ihr das ?
was ich mit dieser Hardware erreichen will, dann enden meine Programme meistens mit: #include <avr/io.h> #include <avr/signal.h> #include <LCD / UART / ...> #ifndef F_CPU #define F_CPU 3686400L //Oder einer anderen Quarzfrequenz, je nach dem, was da für ein Mega tickt #endif void main (
festzulegen. Bei dem Teil des Programms, das dann nach dem Eintreffen der USART Daten, diese auf den 8-Bit Port (PortA, um das Problem mit den JTAG-Fuses zu vermeiden) kopieren soll (RXC = 1 kopiere Inhalt des RecieveBuffer auf Port A) fing das Problem schon an. Ich muss ja den Handshake mit dem Centronics
-
Thread
Heizung Temp. überwachung am PC
Sollte ca. 32 PTC Wiederstände überwachen und dann in Exel Datei anzeigen. Prog. soll über Par. Port die PTC abrufen und dann nach bedarf auch 8 Magnetventiele schalten können. 8fach Relaiskarte von Conrad habe ich schon, aber Program und Hardware zum einlesen der Temp. und umsetzen der schaltbefehle
Hardware zu erstellen mit der ich 255(6) über Optokoppler,Reed`s Thyr. oder Tran. schalten kann b.z.w einlesen über A/D wandler (also auch Analoge PTC/NTC). Jedoch habe ich außer damals am Commdore 64 keine Computerprog`s mehr geschrieben. Mochte jetzt auch nicht mehr mit PEEK und POKE ohne EXEL eine
-
Thread
BASCOM LCD 20*4
' Relais 12 Volt für alles Pwr_tft Alias Portg.1 Pwr_video Alias Portb.7 Pwr_xbee Alias Porte.2 Pwr_gps Alias Portc.6 Pwr_lcd Alias Portg.3 ' LCD GND Tft1 Alias Portb.5 Tft2 Alias Portb.3 Tft3 Alias Portb.1 Tft4 Alias Porte.7 Tft5 Alias Porte
'---- LCD ---- Config Lcd = 20 * 4 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.0 , Db6 = Porte.6 , Db7 = Porte.4 , E = Portb.4 , Rs = Portb.6 Cursor Off Deflcdchar 0 , 32 , 32 , 21 , 14 , 4 , 4 , 4 , 4 ' Link-Zeichen Deflcdchar 1 , 32 , 14 , 31 , 31 , 31 , 31 , 31 , 31
-
Thread
C Anfänger: PWM Signal auslesen Gesperrt
Spannung wandelst? Mit einen Kondensator und einen Widerstand. Dann das ganze auf den Analogeingang des AVR. Die Zeitkonstante der RC musst du an deine Freq anpassen. Sollte doch gehen - anders herum geht's doch auch - uC erzeugt PWM und per RC bekommt man eine analoge Spannung.... Bis dann, Ingo. PS:
leuchtet ja bei 0 ## Also nich addieren sondern nur nuller einschieben }; } Hast du das mal im AVR Studio debugged ? Phagsae
-
Thread
USBprog will nicht so recht
bestellt. Zusammengelötet ist er. Ich habe die Anleitung befolgt, in der gesagt wird, man solle WinAVR und AVR-Studio installieren. Von beidem habe ich die aktuellste Version installiert. Jedoch wird der USBprog leider nicht richtig am USB-Port erkannt. Es sind keine Treiber dafür vorhanden. Ich habe
WinAVR installiert. Danach AVR-Studio (mit den Jungo-Treibern, welche auch im Hardwaremanager angezeigt werden). Danach habe ich das USBprog angeschlossen. Da keine Treiber dafür installiert wurden, habe ich
-
Thread
MCP23017 - gemischter Betrieb von LEDs und Taster
MCP23017 und der Ansteuerung von LEDs und die Auswertung von Tastern. Dabei hatte ich alle Pins eines Ports auf Eingang oder Ausgang geschaltet. Also ein kompletter Port für LEDs und der andere komplette Port für die Taster. Es ist auch ein "gemischter" Betrieb möglich. Meine damit, das von einem Port
Datenblatt in der Tabelle 1-3 OLATA 0x0A i2c_write(0x02); // -> setzt den Registerinhalt, Port 1; Dort kann man auch mehrere andere Ports setzen. Nach diesem Schema funktioniert es. Wenn du mehrere Eigenschaften machen möchtest, macht es unter Umständen den Sinn, sich den Registerinhalt
-
Thread
Ausgang für 2 sek setzen
der frei herumfährt; hat jemand ein fertiges Programm oder kann mir jemand helfen: 1. Ausgangs Port (Motor) für 2 Sekunden setzen, wie lautet die Anweisung? 2. Wie kann ich 2 Signal(eingänge) einlesen mit Abbruchbedingung? MfG
Also, vor hab ich das mit einem ATmega8 µC auf einem Anfänger MyAVR-Board. Entwicklungsumgebung ist AVR Studio 4.12. Soll also ein Roboter (wie so ein Panzer, mit Ketten und so, also Motor links&rechts) werden, der durch die gegen fährt. Vorne hab ich Ihm drei Infrarot-Sensoren
-
Thread
Projektaufgabe
gemacht, die Daten kannst du dann auf einem Display ausgeben und zusaetzlich ueber die RS232 am Com Port in Excel etc einlesen Gruss Jens
noch recht primitiv sind aber trotzdem alles bieten was man so braucht. Wie machst du an einem AVR die Harvard-Architektur _einfach_ deutlich? Wie klemmst du externen Programmspeicher an einen AVR? Wie bringst du jemandem mit null-Assemblerkenntnissen die Programmierung eines ARM7 mit dreistufiger
-
Thread
Drehzahl an atmega16
7-Segment-Anzeigen ausgegeben die an Port A und Port B hängen. Jetzt zu meinem Problem, ich bekomme den Quelltext nicht so abgeändert, das es mir die Zeit, bzw. die U/min auf dem Display anzeigt. Ich bekomme den „wert“ aus der Service-Funktion
Main-Programm. Die LCD-Initialisierung klappt und zeigt mir auch was an. Ich habe die LCD-Routines aus dem AVR-GCC-Tutorial verwendet und auf Port C umgeschrieben. Ich bin für jede Hilfe dankbar. Die C-File befindet sich im Anhang Gruß Daniel
-
Thread
Digitale Wasserwaage mit ATmega32 und ADXL330
Kannst du auf das LCD ausgeben ? Kannst du Bits einlesen? Kannst du C ?
einem atmega32 und einem adxl330 eine digitale >wasserwaage bauen. leider weiß ich nicht auf welchen port ich ihn bauen >sollte geschweige denn programmiern soll Hast du den schonmal einen Blick in das Datenblatt des ADXL geworfen? Analoger Ausgang -> also auf analoge Eingänge. Welche Ports das könen
-
Thread
Terrariensteuerung: DCF & 1-Wire zugleich?
Fünfen. Demnächst werde ich wohl mal den Beispielquelltext ausprobieren den es zur Application Note AVR318 gibt.
Appnote: http://www.atmel.com/Images/doc2579.pdf gehörende Software: http://www.atmel.com/Images/AVR318.zip genommen und folgende Anpassungen gemacht: - aus #include <ioavr.h> wurde <avr/io.h>, aus <inavr.h> wurde <avr/interrupt.h> - \ in Pfadnamen durch / ersetzt - ln -s OWIUARTBitFuntions.c
-
Thread
Welches der beiden Dev.Boards?
für Privat war mir die Anschaffung als Auszubildender leider zu teuer. Ich bin da auch auf die Atmel AVR aufgestiegen. Vor allem auch wegen dem schönen und einsteigerfreundlichen AVR-GCC Tutorial hier auf der Seite. Hätte es damals 2007/08 bereits Arduino gegeben, dann wäre das ganz klar die Plattform
Wahl. Zumindest Preis/Leistung ist kaum zu toppen. Allerdings sind dadurch auch kaum noch unbelegte Ports am µC.
-
Thread
Spannungscodierte Versionserkennung
der braucht drei Pins zur Ansteuerung, einen Spannungsteiler kann man über einen freien ADC-Kanal einlesen. Ich frage mich, wer 128! Hardwareversionen kodieren will. 16 oder 32 sind mit normalen Widerständen vielleicht noch machbar, darüber hinaus wirds unsicher bzw. man braucht sehr genaue Widerstände
wechseln. Sind beide unnötig. Der R2R DAC spuckt auch so eine positive Spannung aus. http://www.avr-asm-tutorial.net/avr_de/avr_dac.html >>Woher die kühne Aussage? >Seien wir mal ehrlich. Ist eine Verionserkennung so wichtig, dass ich >alle Genauigkeiten berücksichtigen muss? Ich glaube kaum.
-
Thread
Uhr-Schaltung
Guck da mal rein: [[AVR-Tutorial: 7-Segment-Anzeige]] Da sparst Du Dir eine Menge Vogelfutter (PNP statt NPN etc.)
welches ich an Vcc geschaltet hatte: Im Prinzip habe ich mich an die Vorlage [[DCF77-Funkwecker mit AVR]] gehalten. Ich möchte später nämlich die Spannung an Pin33 einlesen. Ist das trotzdem falsch oder wie muss das jetzt?? mfg LukasZ
-
Thread
Aufzeichnen eines 10 MSPS 1-bit Signals
einen > 1-bit > Datenstrom. 1Bit ist doch 0 oder 1! Da kannst auch ein Digitaleingang eines AVR nehmen!
Prozessoren von XMOS für dich in Frage kommen. Die können ein 12 MHz Signal auch locker direkt seriell einlesen und ausgeben.
-
Thread
[V] Mini GPS Module - SkyTraq Venus 6 (22x22x8mm)
kann man das direkt an den rs232-Port des PCs oder mittels eines rs232-usb-adapters an den USB-Anschluss des PCs anschließen?
angeschlossen und mit dem Code leuchtet genau PINC4. [c] #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h> #include "uart.h" #define UART_BAUD_RATE 9600 int main(void) { uart_init( UART_BAUD_SELECT
-
Thread
AVR ASCII Video Terminal - 40 x 25 - BAS Signal
google mal nach AVR+OSD
ansieht? Der UART: [avrasm] ;Init USART ;Baudratenjumper einlesen und auswerten ; und Baudrate anzeigen ;IO-Port lesen, ;Baudratenwerte aus Tabelle holen in mpa,PIND andi mpa,0b00011100 ;nur die Bits 2-4 interessieren
-
Thread
Auswertung Reed Kontakt
Hier gibts /brauchbare/ Infos: https://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen#Pullup-Widerstand Lass aber durch den Kontakt ~1mA fließen, das hält ihn sauber. (Normale Taster >2mA. Wenn kein Dabla zur Verfügung steht!)
einigermassen aus der Frage herauslesen kann, "verständnisvoll" spricht. Sowohl die Frage nach "dem Einlesen eines PortPins", als auch die Frage nach "Ausgabe eines Pegels auf einen Portpin", die eine LED leuchten läßt, ist so fundamental, dass man schon erwarten kann, dass der "Bastler" sich wenigstens
-
Thread
Einstieg in der MicroController Welt
zuviel aufeinmal mit dem 32Bit anzufangen? Mein Plan wäre : mit PIC anfangen und irgendwann zu AVR und ARM umswitschen, aber ich weiss nicht ob ich dann direkt mit dem AVR anfangen soll!
da kommen eher selten ausgefallene Dinge vor. Das meiste fällt in die Kategorie: Schnittstellen einlesen -> Daten bearbeiten -> auf Schnittstelle ausgeben. > taugen dann die kostenlose GCC, AVR-Studio was? natürlich > ich will halt momentan > nur Geld für ein Eval-Board ausgeben. > > Ich
-
Thread
Anfänger Frage - Programmieren C/C++
möchte ich diesen in das > uint8_t buttons aufnehmen. Wie mache ich das? nun musst du den PIN einlesen, z.B. mit buttons = (PINB & (1<<PB0)); //buttons gleich 1 für Pin high, und 0 für pin low Ansosnten schau mal ins AVR-gcc-Tutorial.
integriere ich das mit Komma, Strichpunkt, and oder wie > geht das, dass er kapiert, dass er den Port auch mit einbeziehen soll, > definiert ist er ja oben schon. Nun, das ist ein längerer Prozess. Schritt 1: Die Grundlagen von C lernen Schritt 2: AVR Controller programmieren lernen Das
-
Thread
ISP programmierung beim ATmega8a funktioniert nicht
c8 ist das problem, schaum mal in die aaplication notes der avr µp.
eventuell R2 zu niederohmig, so dass der Prommer den ATmega8 nicht in den Flashmodus setzen kann? MyAVR verwendet auf ihren Boards 10k.
-
Thread
ATtiny13: UART Problem mit External-Interrupt
habe ich etwas übersehen, missverstanden oder einen Fehler im Code. main.c [c] #include <avr/io.h #include <avr/iotn13.h> #include <avr/interrupt.h> #include "uart.h" unsigned char c; ISR( PCINT0_vect ); // Interrupt Service Routine External Interrupt Request
// Bit is 1, Clear Bit (Set PortPIN LOW) } else { PORTB |= (1<<PB1); // Bit is 0, Set Bit (Set PortPIN HIGH) } _delay_us( 104 ); } PORTB &= ~(1<<PB1); // STOP Bit (Set PortPIN LOW
-
Thread
ARM Assembler: ein Bit setzen
Peripherie wird ueber "memory mapped" Registers gesteuert. Also, in meinem Fall, will ich den USB Port ansteuern. Dafuer muss ich in einer Speicherzelle Bits setzen oder zuruecksetzen. Bis jetzt habe ich nur auf folgendes zum Setzen des Bits 1 gekommen: Die Zelle in R1 einlesen OR R2, R1,0x1 R2 zurueck in die Zelle schreiben. Das Problem, das ich dabei habe, ist, dass USB port auch einige BITs inzwischen aendern koente und ich die Veraenderungen verliere. Gibt es wie bei AVR einen Befehl, mit dem man ein Bit in einem Zug aendern kann? Danke, Roman
-
Thread
Problem mit Joystick an AVR
der Pin High wird. Interrupt-Pins eignen sich dazu hervorragend (beim ATTiny2313 z.B der komplette PortB). Dann braucht man keinen A/D, lediglich einen Timer, eine schnucklige ISR und ein paar Kondensatoren (pro abgefragtes Poti 1x).
so gemacht: -Beschaltung genau so wie in Deinem ersten Beitrag + 100nF parallel zu den 100k -Einlesen der Spannung mit 10bit AD-Wandler ==> x = 0..1023 -Limiter bzw. Erkennung ob Joystick angeschlossen: wenn (x<256) dann kein_Joystick_angeschlossen, sonst x = max( 512, x ) - 512 (jetzt ist
-
Thread
Erster Schaltungsentwurf - ATtiny Programming Board
. ISP Stecker Standard bei Atmel. Wegen dem: http://de.aliexpress.com/item/Free-shipping-USBASP-AVR-download-cable-AVR-programmer-51-ISP-the-downline-lines-programming-AVR-ISP/1886190857.html
Zum Reset: https://www.mikrocontroller.net/articles/AVR_Checkliste >Der Reset-Anschluss am AVR ist 'active-low', d. h. wenn man den Pin mit GND (Masse) verbindet, wird der Controller zurückgesetzt gehalten. Zwar haben die meisten(!) AVRs einen internen
-
Thread
Alarmanlage oder Wetterstation
man immer schwerer werden. Nur du mußt schon verstehen, was in den Programmen abgeht. http://www.avr-asm-tutorial.net/avr_de/beginner/ MFG Dieter
betrag zusammenkommen, ich schätze mal das es die 20 grenze grad überschreitet. www.atmel.com/avr/
-
Thread
Anfänger sucht Hilfe
. Meint: Beschreibe, was du hast, was du willst und was du brauchst. Bsp: Ich habe hier ein AVR MC Board von xxx. Ich weiß mittlerweile, wie xxx und yyy geht. Ich möchte nun einen xyz-chip an den MC anschließen. mir ist nicht klar, wie (welchen) Port-Pin ich zweckmäßigerweise nutzen soll und wie
Der Tristate-Zustand ([[Ausgangsstufen Logik-ICs]]) ist dazu da, um die Programmierschaltung am AVR bei Nichtbenutzung unsichtbar zu machen (http://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP-Pins_am_AVR_auch_f.C3.BCr_andere_Zwecke_nutzen). > Und warum braucht man den Widerstand
-
Thread
SPI RAM
angesteuert weden kann. Ich muss abwechselnd schreiben und von einer anderen Adresse die Daten wieder einlesen.
Kann man eigendlich die Speicherchips von alten EDO RAM oder noch besser SDRAM Modulen an einen AVR dranhängen?
-
Thread
24 serielle Schnittstellen am PC
byte große telegramme ankommen, die durch das protokoll > synchronisiert werden können. > z.b. > port1 3 byte lesen, alle anderen haben inzwischen sendepause > port4 3 byte lesen, alle anderen haben inzwischen sendepause > port12 3 byte lesen, alle anderen haben inzwischen sendepause > > und die
das letzte Mal Daten von dem jeweiligen Terminal-Port gelesen habe. Diese Zeit X merke ich mir für jeden Terminal-Port. Hole ich dann beim nächsten Mal z.B. 240 Zeichen an diesem Port ab, kann ich für jedes empfangene Byte in der Queue die Zeit des Eintreffens
-
Thread
ATTiny841 - flashen via DebugWire?
Theoretisch sollte der das können, aber womit? Ich dachte ja dass der Atmel-ICE so ungefähr alles kann, AVR-Studio7 lässt mir in der Kombi nur das Interface ISP zur Auswahl. Softwareproblem? Hat überhaupt schon mal jemand irgendeinen AVR mit dW geflasht?
sehr komplex und alle zum Programmieren von Flash und Fuses nötigen Teile müssen zwangsläufig vom AVR-Studio beim Debuggen benutzt werden.
-
Thread
2 Stk. MCP2515 an einem z.B. ATMega32
// beide CS high das ist alles. Blöde Frage am Rande: liegen deine /CS überhaupt beide an PortB?
.und ich möchte auch keinen ünötigen Flashspeicher verschwenden. Achja die CS liegen beide auf PortB einmal PB1 und PB2 Die CAN_Sw macht mit noch zuschaffen da ich nochmal nach der "globalen Variable" schauen muß wie die angelegt wird, so meckert das AVR Studio noch - da will ich aber erst selbst
-
Thread
Bit in Byte mit Schleife schieben.
Schieberegistern // nacheinander über den selben Pin eingelesen werden (?) // Ansonsten der Routine noch den Port und die Pinnummer der Daten // (+evtl Clock) übergeben { uint16_t b = 0; for (uint8_t i = 0; i < 16; i++) { - hier Takt ausgeben b = b << 1; if (PORT_DATA & (
in ein Byte. Das kann man mehrfach wiederholden und hat ein Array. Siehe [[Bitmanipulation]] und [[AVR-Tutorial: Schieberegister]].
-
Thread
Welcher Controller ist für mich geeignet?
mach es mit den Atmel-Prozessörchen. Prigrammieradapter geht notfalls noch die Bitbang-Methode am ComPort, später dann ein gescheiter ISP oder sogar ein Debugger dazu. Schau dir hier mal das AVR-Tutorial an. mfg mf
ist, das ist das der PIC einen Befehlssatz von rund 30 Befehlen hat. (Je nach genauer Familie). Der AVR hat ein vielfaches. Was ist wohl einfacher zu lernen? Und die 18F Pics haben dieses Banking auch überhaupt nicht mehr. Diese sind bis auf die anderen Befehlsschreibweisen vergleichbar mit den AVR
-
Thread
USBprog 4.0 vs Atmel JTAG ICE
dir auch empfehlen, zunächst mal mit dem Mega328 anzufangen. Der besitzt eine andere Architektur (AVR) als dein AT91SAM7A3 (ARM) und ist wesentlich einfacher zu programmieren. Zum Programmieren der AVR's: Schau dir mal Debug Wire an. Viele Grüße Michael
Das JTAGice3 kann nur AVR und AVR32 programmieren, ist also für ARM nicht geeignet. Der USBPROG soll wohl auch ARM programmieren können, aber empfehlen tu ich den nicht. Für ARM (und nur dafür, was anderes kann der nicht)
-
Thread
Schaltung mit ATtiny13A aus Solar-Leuchtturm verstehen
erst mal geladen werden müsste. Bis dahin kann man auch einfach den gleichen AD-Kanal ein paar mal einlesen und nur den letzten Wert verwenden.
komplett intern messen kann und 2) den Lichteinfall über die LED detektiert (lädt dann langsam den Port auf, nachdem auf Eingang umgeschaltet). Aber das würde dann zu billig aussehen.
-
Thread
Feedback zu meiner Schaltung
ist, können die beiden Pegelwandler auch entfallen. Q1 und Q2 können dann auch weg. Das kann der AVR auch selber. Gruß Jobst
Stromaufnahme des BMP390 könntest Du überlegen, IC5 alternativ über einen Jumper mit einem Portpin des AVR zu versorgen. Dann wird der ganze Zweig abschaltbar und geht bei Unterspannung (Brown out) gleich mit aus. Evtl. einen kleinen R in Reihe, damit C17 beim einschalten nicht den AVR zurücksetzt. Du könntest
-
Thread
Unerklärliche Fehlermeldung in einem Arduino-Programm Gesperrt
PCF8575 (Beide Bezeichnungen sind 1 und das selbe Bauteil!) * *Notiz: *http://www.nongnu.org/avr-libc/user-manual/group__avr__string.html#ga6a441da9211eb85881d99c60b1003552 * *Portexpanderaddressen (1.Array) müssen als Hex (0x..) gespeichert sein, *damit die Portexpander richtig angesprochen
//<<---------Fehlermeldung Zeile63 { Serial.println("?-Befehl"); /*~~Einlesen der Informationen~~*/ a = 0; for ( i=0 ; i<8 ; i++ ) //Für alle 8 Portexpander { Wire.requestFrom(Portexpander[i] , 2); //Informationen vom Portexpander
-
Thread
(Parallele) Kommunikation zwischen 2 uCs
Erinnert mich an den alten Druckerport: http://computer.howstuffworks.com/parallel-port1.htm Zumindest das Strobe-Signal würde ich auch einbauen. Ansonsten kannst du nicht sicher sein ob beim Einlesen die Bits wirklich richtig stehen.
versuchen dennoch das ganze per UART zu lösen (ist ja kein großer Mehraufwand, das Byte das an dem Port lag wird jetzt einfach über die serielle geschickt), da Steuerung und Bedieneinheit doch weiter auseinander liegen als gedacht (Verkabelung gering halten).
-
Thread
.hex Datei auf Pollin Evaluationsboard übertragen
einen Gefallen und kauf dir einen ordentlichen ISP oder gleich JTAG Programmer den du an einem USB Port anstecken kannst. > Wenn ich mich richtig erinnere, konnte man auch im AVR-Studio "live" > alle Programmschritte auf dem Mikrocontroller durchgehen und die > Register auslesen. Dazu brauchst du dann JTAG http://www.mikrocontroller.net/articles/AVR_In_System_Programmer
-
Thread
Anfänger Frage zu variable hochzählen
49 * Author: Daniela Weinhart */ #define F_CPU 1000000UL #include <util/delay.h> #include <avr/io.h> int main(void) { // EIN und Ausgänge konfigurieren PORTA = (1<<PA0); DDRA = (1<<PA1); while(1) { // Taster 1 int a = 0; while( a <=5) { if
49 * Author: Daniela Weinhart */ #define F_CPU 1000000UL #include <util/delay.h> #include <avr/io.h> int main(void) { // EIN und Ausgänge konfigurieren PORTA = (1<<PA0); DDRA = (1<<PA1); while(1) { // Taster 1 int a = 0; while( a <=5) { if
-
Thread
Sensoren & Conrad Experiment Interface
Adapter ranhängen, wenn man auf dem PC keine RS232 hat sondern nur USB. http://www.embedtronics.com/avr/tempavr.html Alternativ ein µC-Board mit integriertem RS232 bzw. TTL nach USB Hardwarechip oder Softwarelösung.
Hallo, ich wollte mal nachfragen, ob sich das Problem mit dem Daten einlesen gelöst hat. Ich sitze nämlich gerade vor dem selben Problem mit dem selben Board. Nur habe ich Infrarotsensoren an der Karte angeschlossen. Jedes mal, wenn ich die Daten einlese bekomme ich den Wert
-
Thread
JTAG-Fuse im AS6-Simulator disablen
Hallo, ich habe das Problem, dass ich beim ATMEGA644 von Port C einlesen möchte und das Programm im Simulator debuggen. Allerdings ist beim Simulator das JTAG-Interface eingestellt, daher kann ich die mittleren 4 Bit nicht korrekt einlesen. Bei AVR-Studio 4 kann das gleiche Problem auftreten, nur kann dort über DEBUG->AVR Simulator 2 Options ein Häkchen für die diversen Fuses wie JTAGEN gesetzt werden. Hat schon jemand das gleiche Problem gehabt, und eine Lösung gefunden? (Das oben angeführte Programm dient AUSSCHLIESZLICH
-
Thread
Frage zu ATTinys
meisten Fällen kein Problem, einen PCINT zu nutzen. Wenn die Flanke interessiert, muss man halt den Port einlesen und den aktuellen Pegel des Pins abfragen. Kostet bei optimalem Code < 1 µs @ 8 MHz.
Peter würde es genauso machen. Seine Antwort war sarkastisch gemeint. Ich hoffe, daß die nächste AVR Generation eine HW-Polling Einheit bekommt.
-
Thread
AVR: Daten seriell mit min 1 Mbaud ausgeben. Wie?
zwei parallel-load serial-out Schieberegistern gelegt. Deren Dateneingänge kommen an zwei komplette Ports. Der Load-Pin muss dann vom 17.Portpin bedient werden. Nun hast du 252 Zyklen Zeit, in denen deine Daten aus dem RAM geholt und vorbereitet werden müssen. Die Fehlenden 4 Zyklen sind der PORT-Out von
also so schlecht nicht sein. Allerdings haben die Bytes immer eine "Lücke" von zwei CPU-Takten beim AVR. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister#Bekannte_Probleme >Ihr werdet mich schlagen... Also: Ich hab den SPI als Slave laufen, denn >erstens kann man den Slave
-
Thread
! Vorsicht NEWB 7-Segmentanzeigen via PC ansteuern
den Aufbau eines Multiplexers. Einfach die Daten seriell hineinschieben. Davor kommt ein kleiner AVR mit RS232-Anschluss. Davor eine RS232-Funkbrücke. Sender an den PC. Empfänger an den RS232 des AVR.
" Displays. Bei insgesamt 13 Displays sind dies (fast) 2 weitere belegte 8-bit-Ports. Hinzu kommen 2 Datenleitungen für RS232. Das heisst, dass Du noch mehr als Port als Reserve frei hast. Nimm einen Controller und steuere Segmente und Displays über Transistor oder Integrierte
-
Thread
Potentiometer an Mikrocontrollter
0 einlesen (Wert zwischen 0 und 1023) poti = PINA0(0);
Karim A. schrieb im Beitrag #6285201: > Das ist die library dafür > #include <avr/interrupt.h> Nein, ganz sicher nicht. Die hat mit ADC nur marginal zu tun. Die Doku zur AVR Library ist dort: https://www.nongnu.org/avr-libc/user-manual/index.html Und wenn du das mal überfliegst
-
Thread
SD-Karte initialisieren
Speicher für SD-Karten Befehl SD_SendCommand: ;sendet 6 Befehlsbytes [SD_Addr..SD_Addr+5] sbi PORT_SPI,SEL ;Chip NICHT selektieren out SPDR,r2 ;$ff senden sbis SPSR,SPIF rjmp PC-1 cbi PORT_SPI,SEL ;Chip select lds r16,SD_Addr+0 ;1. Byte lesen out SPDR,r16
Was macht das Teil bei 8MHz SPI ? Bringen alle SD/MMC wirklich mindestens 3V am Ausgang damit der AVR das auch noch als High erkennt ?