-
Thread
SPI Slave 16 E/A mit Schieberegistern
und 16 digitale Ausgänge einließt/ansteuert. Der Slave soll möglichst gleichzeitig Daten an MISO einlesen und an MOSI ausgeben. Die üblichen Port-Extension Lösungen, mit 74HC595 und 74HC165 scheinen das ja nicht zu erfüllen (siehe hier: http://www.mikrocontroller.net/attachment/1483/SPI_74HC595.pdf),
>Ich brauche eine "saubere" Lösung, Eine ganz "saubere" Lösung wäre, einen AVR mit vielen Pins zu nehmen und über der/die/das eingebaute SPI anzusprechen.
-
Thread
USB IR Remote Receiver (V-USB + IRMP)
und einfacher zu bauen. ParPort mag ich nicht. pk
Will this programmer work ? http://wearcam.org/ece385/avr/avr_programmer_from_xs4all_sbolt_site.png asking because i already have it
-
Thread
Tiny13 : Problem beim Entprellen mit internem Pullup
Ähm [C] #include <avr/io.h> #define KEY_DDR DDRB #define KEY_DDRNO DDB1 #define KEY_PORT PORTB #define KEY_PORTNO PORTB1 #define KEY_PIN PINB #define KEY_PINNO PB4 volatile int KeyCounter; void ButInit() {
es bei dir ja so, dass ein paar von den PORT Bits ja eine spezielle Bedeutung haben: Sie sind für den Pullup zuständig. D.h. selbst wenn dieses Bit beim einlesen von PIN eine 0 bringen würde, willst du diese 0 auf keinen Fall ins PORT Register
-
Thread
Mittelwert von ADC über 3 Minuten ?
. Wenn das steht, dann weißt Du, Timer hab ich. ;-) Dann würde ich im INT einen Wert vom ADC einlesen und mir den in einem Ringpuffer schreiben. Vlt. so... ... volatile uint8_t wind_dir[32]; ... // im Timer INT wenn 5 Sekunden abgelaufen sind dann ADC // einlesen und ab in den Buffer damit
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Zähler_des_AVR#Beispiel_f.C3.BCr_CTC_Clear_Timer_on_Compare_Match_.28Auto_Reload.29 Sollte ein guter Anfang zum "spielen" sein... ;-)
-
Thread
PHILIPS VP5500 VoIP Telefon bei Pollin
Hat schon mal jemand ALLE Ports des Teils gescannt?
Proxy: alles leer RTP: (Audio) RTP port: 22800 RTCP port: 22801 (Video) RTP port: 22804 RTCP port: 22805 STUN: STUN Server IP address: stun.ekiga.net STUN Server port: 3478 ist Audio, Video und BW entscheidend? SIP2: Symmetric
-
Thread
externes Interrupt wird beliebig ausgelöst (Motorrad)
Das Entprellen funktioniert ja und macht auch keine Probleme. [c] #include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h> #include <inttypes.h> #ifndef F_CPU #define F_CPU 8000000UL // processor clock frequency 8Mhz #endif #define LED PA6 //
Versorgungsspannung so dicht wie möglich am µC. Ich wollte erstmal die Signalerkennung ordentlich einlesen, erst dann mit der Auswertung und dem Display weitermachen. Jedoch ohne diese Grundlage, ist der Rest hinfällig, daher ist der Schaltplan im Moment nur minimal.
-
Thread
Kapazitätsmessgerät mit PIC16F877A bauen
BCD-Wert an LCD ausgeben * Sprung zum Beginn der Endlosschleife Wie setze ich das mit dem Einlesen der analogen Spannung und dem Zähler/Timer um ?
zusätzliche Fehlerquellen mit rein, durch die begrenzte Auflösung und die benötigte Wandlerzeit. Beim AVR kann man sogar das Input-Cature durch den Komparator triggern lassen, d.h. man kriegt eine Zeitauflösung die dem CPU-Takt entspricht. Peter
-
Thread
Drehgeber Problem
Kann es sein das der ATmega8 es nicht schafft , beides zu handeln also >LCD Ausgabe und Drehgeber einlesen. Das schafft der AVR schon. Die Frage ist, ob dein Programm dafür auch richtig geschrieben ist. Poste VOLLSTÄNDIGEN Quelltext als ANHANG. MFG Falk
Kannst du ausser Bascom noch was anderes benutzen? Sagen: wir AVR-Studio mit WinAvr?
-
Thread
Stromsparen und Atmega8?
das Funktioniert mit "Schlafen legen und wieder aufwecken". Muss mich da mal genauer ins Tutorial einlesen. MFG Julian *nicht haun*
bei einem Rising Edge Flanke auf PB0 (ICP) wieder aufwachen und schaun ob sich die Frequenz die am Port anliegt zwischen 500 und 1000kHz liegt.
-
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
1-Wire-Bus-Projekt: DS1820 / DS18S20 / DS2450 / DS2408 / unter C und 8051
DS1820 für meinen Atmega8 umzuschreiben. Entspricht die Zeile zw = DQ; // DQ einlesen und speichern aus der Funktion unsigned char ow_rd_bit(void) in ow.h dieser Zeile: zw = PC0; ??? (der Tempsensor hängt an Port C0) Danke für eure Hilfe. Ich frage nach, da ich nicht schon
nicht wie ich die ow.h ändern muss um einen PIN für die Datenleitung auszuwählen. Ich verwende das AVR Studio. unsigned char bit DQ @ 0xb4; // Port-Pin P3.4 = b4h Wie muss ich diese Zeile abändern, um z.B den PIN PC5 als Datenpin zu verwenden
-
Thread
Giess-o-mat mit AVR Version 2
Ist im Schaltplan nicht richtig beschriftet. > Kann ich so einen Sendor direkt an einem Arduino (AVR) betreiben oder > brauche ich unbedingt den Multiplexer? Den Multiplexer brauche ich, weil ich die Sensorfrequenz mit Hilfe des Timer/Counter 1 am Pin T1 messe. Das ist der einzigste Pin am AVR,
helfen, da ich meine Auswertung mit einem PIC mache. Über die 74 er Logik kannst du dich hier einlesen: https://de.wikipedia.org/wiki/Logikfamilie
-
Thread
2 AVR's verbunden, wie ansteuern?
Ich habe hier eine Schaltung die aus 2 AVR's besteht die mit 3 Leitungen miteinander verbunden sind. Der erste AVR dient zum einlesen der Verzeichnisses der SD-karte und der zweite nur für die Ausgabe am LCD. Die Hardware bestand ursprünglich
liegt der Code des Menüs am ersten AVR der dann die Ausgabe auf den zweiten weiterleitet. Der zusätzliche Menüpunkt soll die Ausgänge des Display-AVR ansprechen. Wie macht man das? Wie kann man vom ersten AVR die Ausgänge des zweiten
-
Thread
Problem mit Pin Change Interrupt und Timer Interrupt
aber keinen mucks vonsich gibt. ich hoffe ihr könnt mit helfen. hier der code: [code]#include <avr\io.h> // Header-Datei für I/O Konfiguration (intern werden weitere Dateien zugefügt) #include <avr\interrupt.h> // Header-Datei für globale Interrupt Aktivierung #include
Timer1Init(); PORTB |= (1<<PB2); // Internen Pull-Up-Widerstand des Pins 2 des Ports B einschalten DDRB |= (1<<DDB2); // Pin 2 des Ports B (-->LED1) als Ausgang konfigurieren DDRD |= (1<<DDD2); i2cSetLocalDeviceAddr(I2C_SLAVE); // Slave Adresse (Regler)
-
Thread
suche 8051 µC für einsteiger
Robert Teufel schrieb im Beitrag #1782005: > Es gab den 8051 vor dem AVR und es wird ihn auch > noch nach dem AVR geben. Der Spruch ist schön. Wenn Atmel den AVR aufgibt, gibt es keine AVRs mehr. Beim 8051er müssten so ca. 20 Firmen den µC aufgeben.
>Leider habe ich nicht die nötig Ausrüstung um mir ein Port selbst herzustellen. Port -> Board ???
-
Thread
ASM Code vereinfachen
clr temp1 out DDRD, temp1 ; Datenport als Eingang für Statusantwort des Displays cbi PortB, CE ; Display enable _status_check_0: cbi PortB, RD ; Leseanforderung in temp1, PinD ; Daten vom Display kommend einlesen sbi PortB, RD
als Eingang für Statusantwort des Displays cbi PortB, CE ; Display enable _status_check_1: cbi PortB, RD ; Leseanforderung in temp1, PinD ; Daten vom Display kommend einlesen sbi PortB, RD
-
Thread
DCF-Uhr mit LCD in C
auch verstanden. Problem schein zu sein, das ich A) einen anderen PIN nehmen, und B) den gesamten Port im Interupt einlesen. Die und Verknüpfung klappt dann wohl nicht mit dem (1<<PINC5). Also muss ich auch beim einlesen nur das eine BIT einlesen. Mal sehen ob das klappt. Danke Bernd
aufzusetzen, hat bei mir funktioniert. Ich schreibe mal mein Vorgehen auf, vielleicht hilft dir das: Im AVR Studio: - New Project -> AVR GCC -> Project name: dcf-clock - AVR Simulator -> Device ATmega16 - Bei den Source Files die angelegte Datei dcf-clock.c aus dem Projekt entfernen - Nun die 3 Dateien
-
Thread
Mit Atmega32 Meter auswerten
einbinden der bibliotheken #include <util/delay.h> //einbinden der bibliotheken #include <avr/interrupt.h> //einbinden der bibliotheken #include <math.h> //einbinden der bibliotheken #include <avr/iom32.h> //einbinden der bibliotheken #include <avr/eeprom.h
Hans schrieb: > DDRD = 0xFF; // D Ports als Ausgänge festlegen für LCD > > DDRB = 0xFF; // B Ports als Eingänge festlegen Fifty-Fifty, aber vielleicht auch nur 50% ;) avr
-
Thread
Mit RS232 128 LEDs ein- und ausschalten
folgendes einsetzen: http://www.virtualvillage.de/usb-rs232-konverter-ttl-pegel-f-virtuelles-com-port-003602-010.html?utm_source=googlebase&utm_medium=shcomp , falls ich auch noch TTL-Schaltungen hinterbauen will und die benötigte 5V brauch. Wenn ich vom Rechner z.B. das Bitmuster 00001000 rausschicke
etwas komplizierter, die Ausgänge zu togglen (entweder alle Register nochmal durchtakten, Werte einlesen und zu verarbeiten oder gleich in der Software die Zustände merken). HTH
-
Thread
Terminal-Befehle aus mehreren Zeichen im Controller erkennen, wie am besten?
Es ist ja nicht so, dass ich das ganze ohne auszuprobieren mache. Ich programmiere in AVR-Studio. Aber nicht viel bis jetzt.
schrieb: > Es ist ja nicht so, dass ich das ganze ohne auszuprobieren mache. Ich > programmiere in AVR-Studio. AVR-Studio hilft dir da nicht viel, weil du die Programme nicht auf dem PC laufen lassen kannst. Dadurch wird erst einmal das Debuggen des Programms erschwert. Grundlagen in C lassen sich
-
Thread
adc mess falsch
Gebiet der uC. Ich habe schon einige Tutorials durchgearbeitet und "spiele" selber noch mit dem MyAVR-Board mit einem Mega8 ein bischen herum. Meine Frage. Ich will z.B. ein 0-2,3V Spannungssignal auf einem PinF0 von atmega128 einlesen und in ein digital 10-stellige Wert umwandeln. Der Wert muss
der Ermittlung des Mittelwert liegt. Wie koregiere ich das? Danke im Voraus. [c]#include <avr/io.h> #include <inttypes.h> #include <stdlib.h> #include <avr/interrupt.h> #include <string.h> #include "uart.h" #include "adc.h" // define global variables int ADIteiler=0; char s[20];
-
Thread
Einsteigen in Mikrocontroller Programmierung
Sub-D-Verlängerungskabel - Bausatz Atmel-Evaluations-Board V2.0 - AT Mega 16-16PU - PonyProg - AVR Studio Ist das alles was ich für einen Einstieg benötige? Zum Programmieren würd ich dann das AVR-Tutorial http://www.mikrocontroller.net/articles/AVR-Tutorial verwenden...
mehr Einsicht" ins laufende System nützlich ist. Vielleicht lohnt es sich später, einen neuen Artikel AVR-Debugging o.ä. zu starten ähnlich wie [[AVR-Simulation]]
-
Thread
ATMega von "außen" steuern
Möglichkeit, dass ein ATMega durch die Pins gesteuert wird, also bspw. dass beim Anliegen von 0x00 an Port C "ldi" gespeichert, dann Port C auf einen anderen Wert gesetzt wird, z.B. 0x01, und schlussendlich wieder geändert wird, z.B. auf 0x10, sodass der Befehl [avrasm]ldi r17, 0x10[/avrasm] ausgeführt
Es gibt es nicht eine kleine Script sprache für AVR's? Ich bin der Meinung hier mal was gesehen zu haben.
-
Thread
Regelung eines unstabilen Systems
---------|' Serialin: Nummer = Inkey() 'ASCII-Code einlesen Select Case Nummer Case 13 'Nummer 13 ist das Enter, das gesendet wird, wenn alles gesendet ist Select Case Zeichen
mit shift Position , right , 1 ansonsten schau mal nach PID-Regler, z.B. hier: http://www.avr-praxis.de/forum/showthread.php?t=22 oder da: http://www.mikrocontroller.net/attachment/552/PID.doc
-
Thread
Dezentral Eingänge einlesen und entfernt wieder ausgeben!?
dient als "Master", der kontinuierlich Daten an den AVR im Keller (Slave) den Status sendet. Ich würde beispielsweise für den AVR im Sicherungskasten den Port B nehmen. Der Portstatus soll dann via Bus an den AVR im Keller gesendet werden. Dieser AVR
Das zweite Kapitel des Tutorials heisst •I/O-Grundlagen: Wie kann ich Taster und LEDs an einen AVR anschließen und benutzen? Da haettest Du dann alle Infos zur Eingabe, also Ports und Portpins einlesen. Etwas weiter hinten findest Du dann das Kapitel •Der UART: Wie kann ich Daten zwischen
-
Thread
mit µC in Excel schreiben
Mittels VBA in Excel kannst die port.dll Datei ansprechen und über diese seriell kommunizieren. Edit: wenn ich mich recht erinnere wird es auch so im Kainka Buch umgesetzt
weiterarbeiten. Excel mag nur 65000 Zeilen haben, aber um wie viel Daten handelt es sich hier überhaupt? Ein AVR-µC hat selten mehr als 128k RAM an Bord. Gruß, DetlevT
-
Thread
ICP Caputre Unit mit wechselnder Flanke
Das Hauptprogramm soll später einmal die Frequenz dann aus den Timer werten berechnen, aber das Einlesen klappt im Moment noch nicht ganz. Gedacht ist, zunächst bei fallender Flanke einzulesen, Wert sichern eine LED einschalten, die Flanke wechseln, darin dann die LED ausschalten, nächste fallende einlesen
---------------------------------------------------------------- #include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <inttypes.h> // ---------------------------------------------------------------------------- // DEFINES // -----------------
-
Thread
FT232R auf disconnect überwachen
Die Antwort von Matze ist doch die Lösung. Natürlich kann man den FT232 auch mit einem nur sendenden AVR dafür auf Disconnect prüfen. Die Routinen sind im Treiber enthalten. Vor jedem Empfangen testen, ob das Device mit der Seriennummer noch vorhanden ist und dann einlesen. Steht alles gut in den Beispielen
entspricht nun aber garnicht mehr deiner Beschreibung von 23:57 und > 00:00 Uhr, da war noch von einem AVR als Sender die Rede. Stimmt, allerdings besteht das Problem auch, wenn nur der nackte FT232 am Port hängt. Somit ist es zur Problemlösung völlig unwichtig welche Daten wie woher gesendet werden.
-
Thread
LCD Ausgabe (Erhöhen einer Variable durch Signal am Eingang)
) 1 0 1 1 = 11 (Dezimal). Diese verbinde ich parallel mit den letzten 4 Pins von PortB, welche als Eingang defniniert werden müssen. Nun das Problem :-(, will den Zustand an allen Pins(Pin4 - Pin7) einlesen (einmalig, bis sich etwas ändert), bearbeiten und als Dezimalzahl auf dem
Beispiel noch fehlt, ist zum Einen die Schleifenbedingung wie auch die Eingangs/Ausgangsdefinierung von PortB. Danke nochmals für Eure investierte Zeit, freue mich auf neue Anregungen und Ansätze. [c] #include <avr/io.h> #include "lcd-routines.h" int main(void) { lcd_init(); int i;
-
Thread
Parität eines Registers Rausfinden (Assembler)
unterste Bit eine gerade (0) oder ungerade (1) Zahl an. Es geht aber einfacher: http://www.nongnu.org/avr-libc/user-manual/group__util__parity.html
Hi >we kann ich hier intelligent vorgehen? Da hilft wirklich nur Zählen. Einfach beide Ports (PinX) in zwei Register einlesen. Mal so aus dem Stehgreif: in r16,PinA in r17,PinB ldi r18,16 clr r19 aaa: sbrc r16,0 inc r19 lsr r17 ror r16
-
Thread
Attiny - Dimmen mit dem Rad
Ansteuerbausteine (quasi AD-Wandler) für 8 LED mit Spannungseingang. Finde gerade keinen, aber sowas an PortB (ist auf Stiftwanne kpl. erreichbar) als Byte einlesen wäre das einfachste. avr
avr schrieb: > Es gibt/gab doch Ansteuerbausteine (quasi AD-Wandler) für > 8 LED mit Spannungseingang. > Finde gerade keinen, aber sowas an PortB (ist auf Stiftwanne > kpl. erreichbar) als Byte einlesen
-
Thread
Kann PINs nicht einlesen :(
Hallo! Ich bin am Verzweifeln. Am Pin D3 messe ich normal 0V, mit gedrücktem Button 5V. Alles nett soweit, ist n PullDown dran, soll ja so sein. Leider kriegt der Atmega32-16AU das garnicht mit!!! Folgender Code bringt die LED dazu durchgehend zu leuchten, egal wie sehr ich auf dem Button rumdrücke. [c]#include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #define LED_PIN PD6 #define LED_PORT PORTD #define BUTTON_PIN PD3 #define BUTTON_PORT PORTD int main (void) { // Jetzt die Ports richtig beschalten: DDRA = 0b11111111; // PA7 - PA0 als Ausgang (1) PORTA
-
Thread
Pins am Mega16 lückenhaft
Loop1: dec loop brne Loop1 ret [/avrasm] Woran kann es liegen, dass ich nicht den ganzen Port C einlesen kann? Danke im voraus.
[pre] if( µC == Mega 16 && Probleme am Port C ) disable_fuse( JTAGEN ) [/pre] :-) http://www.mikrocontroller.net/articles/AVR_Fuses#Kompatibilit.C3.A4tsfuses_und_manchmal_l.C3.A4stige_Defaults
-
Thread
RFID - China-Reader ohne Spezial-IC
Dim B_minuten_zaehler As Byte Dim B_i As Byte Dim B_j As Byte ' Var für I-Port senden Dim B_ix_w_byte(6) As Byte ' 6 Sendebytes zum I-Port Dim B_ix_anzahl_byte As Byte ' für for Schleife
Vielen Dank nochmal für die Hilfe! Nun scheint alles zu passen ... ca. 110V an der Spule mein AVR liest brav mit ReadHitag An was es nun lag kann ich leider nicht sagen, hauptsache es funzt :) Gruß Michael
-
Thread
Beipsiel für: FTDI mit Atmel-uC
"Warum verwendest Du nicht gleich die PC-Soundkarte?" dem muss ich hier mal zustimmen der AVR kann die 15Khz grade so halbwegs in 10bit erreichen eine Soundkarte kommt mit 16 bit und mit glück 96Khz daher ebenso gibts genug programme zum frequensgang messen + anzeigen der AVR ist
programmieraufwand ist eher auf dem PC und dort gibts wie gesagt schon genug ... zumal du mit dem AVR nicht an die auflösung rankommst wie mit jeder beliebigen soundkarte
-
Thread
Reedkontakt einlesen, Polling oder Interrupt oder Pinchange
20Hz erkennen kannst, dann nimm doch einen ext. oder Pinchangeinterrupt und toggel in der ISR den Port an welchem deine LED hängt. Die LED dürfte dann mit 20Hz flimmern ;-) Bye
Hi Einlesen von Schaltern bzw. Kontakten, sollten immer im Polling geschenen und nicht in einer ISR. Eine ISR dafür zu verschwenden ist wie der Name schon sagt "Ra(e)iner Unsinn". Ich wundere mich überhaupt,