-
Thread
UV-Laserdrucker II
Es ist natürlich die Appnote AVR446! Habe mich vertippt.
beantwortet er Fragen :-) - wie auch immer ... Ich kämpfe gerade mit meinem ATXMega - der will einen Port, konkret PORTC, nur einmal einlesen. Alle folgenden Male liefert er nur noch 0x00 zurück. Interessant, aber nicht wirklich brauchbar. Gestern gings noch :-) Übrigens zeigst der JTAG-Debugger den Zustand
-
Thread
I2C - DMX
board" du müßtest da also selber noch die I2C Signale dekodieren. Meine Empfehlung: nehm einen AVR mit TWI (z.B. Mega16) und schließe noch einen MAX485 an den USART an. Dann beschränkt sich der Code auf ein Minimum, die meiste Arbeit wird dir der AVR dann abnehmen :-) Thomas
recht einfach: Die 4 Bytes über das TWI einlesen, zwischenspeichern und als 4 DMX Werte über den 75176 ausgeben. Das geht bei 4 DMX Werten wirklich schnell. Für die entsprechenden Register des TWI zieh das Datenblatt des AVR zu Rate, den Aufbau
-
Thread
ADC-MUX verdreher ATmega8535
die ausgewerteten analogen signale und der controller soll nun nur noch beide signale analog einlesen, vergleichen und daraufhin entsprechend die motoren ansteuern. zudem wurde ein ldr installiert (PA6), der die ausrichtung abschaltet, sobald der himmel bewölkt ist. so, jetzt zu meinem problem
assembler und funktionsfähig!) in c umzuschreiben. wie im programm möchte ich die pins separat einlesen und auswerten, jedoch stimmen die MUX-werte des ports nicht mehr... das habe ich auch auf ner testplatine probiert und bei 2 programmierten wandlungen verdreht es auch schon die werte... hierzu
-
Thread
Code gesucht xmega 128 mit ds18b20
Google kaputt? AVR-GCC Code findet man doch haufenweise. Vielleicht nicht gerade für Dein konkretes AVR-Derivat. Fix und fertig gebackene Programme wird Dir kaum einer auf dem Silbertablett servieren. Kleinere Anpassungen muß man schon selber machen, also sich erstmal etwas einlesen in den DS18B20. Vielleicht ist sogar schon im ASF (Atmel Software Framework) eine 1-Wire Lib drin.
-
Thread
Problem beim Auslesen einer 3x4 Tastaturmatrix
forum/codesammlung?filter=tasten* => http://www.mikrocontroller.net/topic/6491 (Umschreiben auf AVR!) http://www.mikrocontroller.net/topic/64731 (über ADC, für Fortgeschrittene)
Ja, das war auch der Fehler! Die Register vom Port D wurden immer überschrieben.
-
Thread
ATmega8 und UART => Code bringt Einsteiger zum Verzweifeln
mit 1 gelöscht wird. Auch wenn das ganze für eine Uralt-Version der avr-libc geschrieben wurde, die Funktion des ADC hat sich nicht geändert. So kann das nicht funktionieren. Lies die mal den Abschnitt zum ADC im avr-gcc-Tutorial durch (und dazu das Datenblatt), und
//initialisieren der I/O-schnittstellen void ioinit (void) { DDRB = 0b00000110; //PortB konfigurieren PORTB = 0b11000100; DDRD = 0b00000110; //PortD konfigurieren PORTD = 0b00000010; } //initialisieren des Analog-Digital-Converters void
-
Thread
Pin geht nicht auf 5V
Nimm anstatt Portc.0 = 1 mal PINC.0 = 1. Gruß avrGerd
Stimmt, hast Recht spess53. Das war für das Einlesen. Gruß, avrGerd
-
Thread
LED an zwei Pins Atmega8
angeschlossen. Mein Code dazu sieht wie folgt aus und ist ganz einfach gehalten: [c] #include <avr/io.h> int main(void) { DDRC=0xff; DDRB=0x00; PORTC=0x00; while(1); } [/c] So dachte ich, dass PortC auf Ausgang geschaltet ist, Spannung auf low gesetzt und PortB auf Eingang geschaltet
Eingang brauchst du wenn du Daten einlesen möchtest. Du musst den 2.Anschluss auch auf Ausgang schalten auch wenn zum schluss der Strom rein fliest.
-
Thread
PC-Spektrometer - Problem mit Linien-CCD (AVR)
Dazu müßte dein Controller bei den Wandlungen 100kSps schaffen! 2-5 us für einlesen und ablegen ist realistischer. Die Übertragung in 1 us bei einem 8-bit Messwert bedeut ohne Overhead 8MBit/s. UART geht nicht, nur SPI mit Buffer und Leererkennung (neuere AVR mit UART als SPI-Master
AVR schafft auch etwa 30-50kS/s mit etwas über 8bit Auflösung.
-
Thread
Neuer ReAVR in Aussicht
nur die Headerzeilen und die Spalten mit Adressen und Opcodes wegwerfen. Gerade probiert: [pre] avr-objdump -d myfile.hex --disassemble-zeroes -b ihex -m avr5 -j .sec1 | sed -e '1,7d' -e 's/^..................//'> foo.s avr-as -mavr5 -o foo.o foo.s avr-ld -o foo.elf foo.o avr-objcopy -O ihex foo.elf
von Ghidra habe ich mir nicht angesehen. Ich hatte es nur mal kurz auf mein aktuelles (dienstliches) AVR-Projekt losgelassen und dabei gesehen, dass sie zwar IO-Ports und Interruptvektoren benennen, die aber für meinen ATtiny204 natürlich nicht korrekt sind. Ich wurde auch erst vor kurzem drauf aufmerksam
-
Thread
Software-PID-Controller
Rechenaufgaben und steuert über die Druckerschnittstelle -> Optokoppler -> SSR-Relais eine Herdplatte. Das einlesen eines Temperatursensors sollte ähnlich funktionieren. Hat jemand eine Idee wo ich fündig werden kann? Programmieren kann ich nicht sonderlich gut, allerdings habe ich mit C++ und AVR schon ein
es nicht überschwingt und bei Erreichen des Sollwertes nicht zittert. Das steht aber auch alles in AVR221. Mein Vorschlag wäre, den Regler komplett in den AVR zu implementieren und die PID Faktoren per PC einstellbar zu machen, neben dem Sollwert.
-
Thread
String an LCD ausgeben
Ich bins nochmal. Nun möchte ich ja die Spannung die ich einlese auch noch auf dem Display ausgeben. Mit dem jetztigen Code geht das schonmal jedoch nur ganzzahlig. Das heisst mit dem Code so wie er angehängt ist wird mir 0-5 angezeigt, kommentiere ich die Umrechnung
Wie wärs denn mit der avr-libc Doku? http://www.nongnu.org/avr-libc Die sollte sich aber eigentlich auch auf Deinem Rechner befinden!
-
Thread
Button geht nur manchmal (selten!)
Wenn du an PortD alle Pins auf Eingang hast und alle internen Pullups an: Welches ist dein Ruhezustand, also der Wert beim Einlesen von PIND? 0xFF Und wenn du einen Pin per Taster auf 0 ziehst z.B. PD0? Wie sieht
r17, 0x00 > cp r16,r17 ;D==0? > brne notpressed Mit 0x00, d.h. dem Fall wenn *alle* Pins an PortD gegen 0 getastet sind. Du musst dich auf den einen Pin konzentrieren an dem dein Taster hängt! Wie das geht steht im Artikel http://www.mikrocontroller.net/articles/AVR-Tutorial:_IO-Grundlagen
-
Thread
Taster - externen Interrupt Problem
euch helfen. Ich danke euch! Hardware: ATTiny2313, läuft mit 1MHz Code: [c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdint.h> #ifndef F_CPU #define F_CPU 1000000 // processor clock frequency #warning kein F_CPU definiert #endif /
Dannegger geht ja vom invertierten Zustand also Pullups aus. Bei tasterbetätigung liegt eine 0 am PIN-Port
-
Thread
FT800 / FT810 Library
HAL_GPIO_WritePin(EVE_PDN_PORT, EVE_PDN, GPIO_PIN_RESET); } static inline void EVE_cs_clear(void) { EVE_CS_PORT->BSRR = EVE_CS; // HAL_GPIO_WritePin(EVE_CS_PORT, EVE_CS, GPIO_PIN_SET); }
) { // EVE_CS_PORT->BSRR = EVE_CS; HAL_GPIO_WritePin(EVE_CS_PORT, EVE_CS, GPIO_PIN_SET); } static inline void EVE_cs_set(void) { // EVE_CS_PORT->BSRR = (uint32) EVE_CS << 16; HAL_GPIO_WritePin
-
Thread
Atmega32 und C programmierung
allerseits Ich bin neu auf dem Forum und neu im C programmieren. Ich habe von Pollin das Funk-AVR-Evaluation-board aufgebaut und benutze ein Atmega32 Ich habe folgende Aufgabe Ich möchte an einem Port (z.B. PortB ) Daten einlesen und die über RS232 auslesen (auf PC Terminal) Kann mir Jemand
[[AVR-GCC-Tutorial]]
-
Thread
PIC-Einstieg
beruflich mit den Controllern zu tun bekomme. Vor einigen Jahren habe ich bereits das Tuto hier von den AVR's durchgearbeitet. Leider gibt es kein PIC-Tuto, deshalb möchte ich Euch um Eure Meinungen bitten, wo und wie ich das am besten Anfangen kann. Ich stelle mir vor, zum Erlernen zunächst ein Experimentierboard
eingeführt = LATX - RA4 oft nur Opendrain - teilweise musste man einen Takt Pause machen nach dem Einlesen. Folgendes Beispiel: PortX ungleich 0 CLRF PORTX ; PortX=0 MOVFW PORTX ; PortX ins Arbeitsregister Im Arbeitsregister steht nun _NICHT_ Null ! Irgendwie ist das I/O da nicht
-
Thread
Neuling, LED-Platine ansteuern mit Mikrocontroller
was ich suche! Ich benötige nur noch ein Buch um diesesn Code zu schreiben, ich will mich selber einlesen und das später auch können! So lernt man am besten... Hast du da einen Buchtipp für mich? Mfg Stefan
die oben beschriebenen Bücher für Bascom: http://www.amazon.de/Programmieren-Mikrocontroller-BASCOM-AVR-Einf%C3%BChrung-Programmbeispielen/dp/3907857046/sr=8-1/qid=1163431189/ref=pd_ka_1/028-6345445-7355701?ie=UTF8&s=books Jochen RS485-HAUSBUS.de.vu
-
Thread
ATtiny13 C-Programm zu groß
IC MCU AVR 1K FLASH 20MHZ 20MLF - ATTINY13-20MU - Integrierte Schaltkreise (ICs) Nur 1K FLASH!
nicht in „C“ > versuchen zu programmieren. Und warum nicht? Mag ja aufm PIC anders sein, aber der AVR-GCC ist garnicht so schlecht. Das Programm ist mit der float Multiplikation genau 1130Byte groß, paßt also bequem in 2kB. Und wenns doch etwas mehr sein soll, die AVR 8-, 14- und 20-Pinner gehen
-
Thread
Abschätzung Codegröße Mikrocontroller
über die 7-Segment-Anzeigen (multiplex über Schieberegister, welche am SPI-Port des uCs hängen) kleines Menü, in welchem Einstellungen über die Tasten gemacht werden können -------------------------------------------------------------------------- Ich habe soweit schon
über die 7-Segment-Anzeigen (multiplex > über Schieberegister, welche am SPI-Port des uCs hängen) Hast du auf Datentypen geachtet? Immer den kleinsten Datentyp nehmen, der gerade noch ausreicht. Nicht dem µC unnötig 16 Bit Arithmetik aufzwingen, wenn es 8 Bit auch tun? > Habe
-
Thread
Microcontrollerboard mit 16Bit-Controller
preisgünstig lösen könnte. Der GNU-Compiler erzeugt recht guten Code; Probleme, wie sie hier oft unter AVR-GCC angesprochen werden, habe ich damit nie gehabt. Ich verwende die Ausgabe 98r2, die 'mal auf einer Hitachi-CD enthalten war. Nur Mut Michael
@Manfred, wenns nur darum geht, Daten von einem Port zu lesen und im RAM abzulegen, dann sieht das z.B. beim DS89C420 mit 33MHz so aus: loop: jnb Strobe, $ jb Strobe, $ ;Daten gültig mit Strobe 1->0 mov a, P1 ;port einlesen movx @dptr, a ;und ablegen
-
Thread
PIC: I²C Hardware-Slave und Software-Master gleichzeitig
Du kannst natürlich die Logik-Pegel an den Pins per Software einlesen, auch, wenn sie auf Ausgang geschaltet sind oder durch das MSSP-Modul kontrolliert werden. So kannst Du ggf. einen "Software-Slave" parallel zum MSSP mitlaufen lassen, der die Kommunikation überwacht. Auch die Port-Change Interrupts müssten wie erwartet funktionieren, so daß die Software gezielt bei einer Flanke an CLK in Aktion treten kann und nicht ständig pollen muss. Wenn Dein Software-Slave allerdings
-
Thread
PIC12F675 brauche Hilfe
Kleiner Stolperstein, während bei den größeren PICs wie 16F84 die Ports als PORTA, PORTB usw. bezeichnet ist, lautet die Bezeichnung beim 12F675 "GPIO" (general purpose I/O). Also statt PORTA fuer den Port TRISA fuer die Datenrichtung (Eingang/Ausgang) verwendet
Kann ich einzelne ports so ansprechen?: GPIO3=1; oder muss ich das hier anders machen (beim 16F84 sind die Bezeichnungan ja RA, beziehungsweise RB...)
-
Thread
Dip-Schalter
geht. Ich hab BASCOM AVR 1.1.7.7 undalles andere läutf mit meinen Basicprogrammen. Gruss PiCus
Hi, frag nicht einzeln die Eingange ab, sondern les den Port ein und maskier die anderen Bits aus. Danach eine switch case Abfrage und fertig. Mfg Dirk
-
Thread
Flugzeug-Daten auf 1090 MHz empfangen
kann. Bei mir hat sich folgender Aufruf bewährt: ./dump1090 --quiet --net --net-ro-port 47806 --fix --ppm 50 --quiet unterdrückt die Ausgabe auf den Terminalbildschirm --net stellt das Webinterface bereit --net-ro-port 47806 stellt einen output listen Port zur Verfügung der auf Anfrage
Timingprobleme beim Start). netcat kann Daten von einem Port lesen und in den stdio schreiben. Dort kann socat die Daten auslesen und ins Netz weiterleiten, das sieht dann so aus: - erst dump1090 wie oben mit der --net-ro-port 47806 Option starten - dann
-
Thread
Schieberegister Frage
zusammen mit dem Hardware-SPI der AVRs ohne Probleme. Codebeispiel auf http://www.mikrocontroller.net/avr-gcc-faq.htm Gruß Andreas
Mal ne andere Frage: Wie kann ich INPUT Ports erweitern?
-
Thread
Suche hilfe bei einem CAN BUS Projekt mit 22x Arduinos
nix machen Nur mal schnell gegoogelt: https://github.com/autowp/arduino-mcp2515 Einfach mal einlesen und mit 2 Nodes spielen, dann kommst du drauf.
Einen Schalter, der per Mechanismus mit einer Klappe verbunden ist deckt entweder dem CAN BUS PORT (in Position 1) oder den USB Port (in Position 2)ab. 2x Betriebsmodis: Modi 1 - der Schalter steht auf offen (Position 1) - die Klappe verdeckt den CAN BUS Port - das USB Kabel kann angesteckt
-
Thread
Programm funktioniert.aber wieso?
eure Hilfe. [c]/* * Telefon.c * * Created: 05.08.2013 13:44:22 */ #include <avr/io.h> #include <stdint.h> #include <stdio.h> #include <avr/interrupt.h> #include <inttypes.h> #ifndef F_CPU #define F_CPU 14745600 #endif #define UART_BAUD_RATE 115200 #include <util/delay.h
************** //Motorstart Funktion uint8_t startmotor() { DDRA = 0xff; //Port A = Ausgang DDRC = 0xff; //Port C = Ausgang PORTD |= (1<<PD7); //Counter auf 1 setzen bereit für negative Flanke PORTB |= (1<<PB0)|(1<<PB3)|(1<<PB1)|(1<<PB2)
-
Thread
Welche Auflösung / Frequenz für PWM?
mit 8MHz. Macht 78 Takte für die ISR, richtig? Schau mer mal :-) Was bisl doof ist: an dem Port sind bereits 2 Pins als GPIO vorgesehen. D.h. ich kann nicht einfach meinen Wert auf den Port schreiben sondern muss erstmal den Port einlesen, Maske setzen, mit dem neuen Wert verodern und dann kann
meine ISR jetzt soweit fertig. Diese soll mir pro Aufruf einen vorher berechneten Wert auf einen Port ausgeben. Wie in meinem vorherigen Post beschrieben wird aber zuerst dieser Port eingelesen und maskiert, da auch "normale" Ausgänge an diesem Port hängen. Anschließend wird das Timerregister aktualisiert
-
Thread
Zeit zum Übertragen von Daten via I²C?
Zeit für die Verarbeitung? Rein theoretisch würde nämlich als einziges die Ausgabe der Daten via der Port-Expandern und an das LCD-Display Zeit benötigen. kann ich ca. 100k bit pro Sekunde rechnen oder ist es Erfahrungsmäßig mehr?
seriell/parallel Wandler nehmen und hintereinander schalten. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister
-
Thread
Atmega - Multiplex-Display-Ansteuerung fehlerhaft
um die Doppel-Zahl mit 10% Intensität zu > lösen. Dann bau doch mal einen Delay zwischen der PortD Umschaltung und dem Ausgeben auf PortB ein. Evtl sind die PortD Pins noch nicht stabil gesetzt. /regards
. Das hat bei dir 3 Ursachen: 1) Du schaltest auf das andere Segment um, bevor dessen Wert auf Port B ausgegeben wird. Lösung: Schalte zuerst beide Segmente aus, gebe dann den Wert auf Port B aus, schalte dann das richtige Segment ein. 2) Der Effekt 1 wird durch die zeitaufwändige Division verstärkt
-
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
Denke ich zu kompliziert?
im Beitrag #2868458: > ... gemixt mit Hardwarezugriffen. Der einzige Hardwarezugriff ist das Port Einlesen und das kann man nicht weglassen. Das kann natürlich auch eine Funktion sein, wie z.B. bei der Tastaturmatrix mit ADC. jay schrieb im Beitrag #2868458: > Zwar perfekt optimiert, > aber
Unter Schmerzen sollst du deine Programme > entwickeln". Das heisst nicht "Biebel", das heisst "Bi-AVR-bel!" :-) Meint Harald
-
Thread
LCD Display lesen per FPGA
einfaches 16x2-LCD mit HD44780-Controller ist, wäre ein einfacher 8-Bit Controller (egal ob PIC oder AVR oder MCS51 oder sonstwas) wohl die bessere Wahl gegenüber einem FPGA. So im Kopf kurz nachgedacht: * Einen 8-Bit Port an die Datenleitungen hängen * E, WR und CS abfangen, gegebenfalls über Interrupt * Datum am 8-Bit Port auslesen. * Anzeige im RAM zusammen basteln * Über serielle Schnittstelle (evtl. nach Anforderung) ausgeben. Dafür braucht man kein FPGA. Aber dazu ist ein intensiver Lernaufwand von mindestens
-
Thread
RFM12 Modul Probleme Komunikation mit Modul
ich mangels wissen leider nicht den HardwareSPI. wenn das einfach zu erledigen ist (besonders das Einlesen bin ich für Ratschläge gerne offen.) // Sendet daten an das Modul unsigned short rf12_trans(unsigned short wert) { unsigned short werti=0; unsigned char i; cbi(RF_PORT, CS); for (i=0; i<16; i++) { if (wert&32768) sbi(RF_PORT, SDI); else cbi(RF_PORT, SDI); werti<<=1; if (RF_PIN&(1<<SDO)) werti|=1; sbi(RF_PORT, SCK); wert<<=1; _delay_us(0.3); cbi(RF_PORT, SCK); } sbi(
-
Thread
RasPi Daseins-Berechtigung?
fragte ich mich, was man damit (hardwarenah) machen kann und was der > killer Vorteil ggü den üblichen AVR Basteleien (hier) ist? Versuche mal, mit einem AVR irgendwelche Zeitrafferaufnahmen mit der zugehörigen Kamera zu machen.
ich mich, was man damit (hardwarenah) machen kann und was der > killer Vorteil ggü den üblichen AVR Basteleien (hier) ist? Leider kann man nur relativ wenig machen, was man nicht auch mit einem AVR8-System hinbekommen könnte. Umgekehrt kann man aber mit einem AVR8-System vieles machen, was mit
-
Thread
Zeigt her eure Kunstwerke (2) Gesperrt Bilder
Hallo, hier ein AVR Art Net Node. http://www.youtube.com/watch?v=s1IC2uYIGo0 Gruß Uli
Dann nimmste eben nen ARM odern AVR+VS1053 und machst das selbst ;)
-
Thread
Worin liegt der Unterschied "UCSRC"
kurz noch als ergänzung: controller ist ein atmega32 compiler WinAVR-20071221
Zuweisungsarten, welche als immediate behandelt werden solange es statisch bleibt, was aber beim einlesen mittels DIP-Switch hinfällig wird.
-
Thread
arudino leonardo mit 2 arcade player= 24 tasten 4051 multiplexer
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister Jobst Q. schrieb im Beitrag #4747337: > Der 4051 und ähnliche Schalter sind sowohl für analoge als auch für > digitale Signale geeignet. Ja, und?
habe nichts gegen den 4051. Ich bin nur der Meinung, dass man Taster einfacher per Schieberegister einlesen kann.
-
Thread
ARM7 was wie wo?
mit dem Mitteln bestimmt auch sehr gut gehen würde und zum Anderen, ich sowas auch schon bei einen Avr gesehen und gehört hab. Was mir für die Zukunft, falls ich es irgendwann mal gebacken bekomme Win Treiber zu programmieren, wäre dann noch ein USB2.0 2..4...8 Kanal Midi Port unter Win(wasweissichwiesichdasdannschimpft
für die Zukunft und fürs Erste denke ich mal eher simplerere Sachen wie Leds ansteuern, Tasten einlesen, LcdAusgabe usw. ganz genau, wie ich bei nem Avr begonnen hab. Übrigens ..hab mir schon (falls denn der auch noch Einsteiger freundlich ist) den Lpc2148 ausgeguckt 512kb Flash, 40kb Ram und USB2.0
-
Thread
XMOS jemand?
----------------------- #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE out port TXD = PORT_UART_TX; void txByte(out port TXD, int byte) { unsigned time; timer t; /* get initial time */ t :> time; /* output start bit */ TXD <: 0; time += BIT_TIME
Weil nicht C ist. Es ist XC. :> = lesen von port <: schreiben an port
-
Thread
AD-Wandler mit zu viel Spannung belasten
die 10V Quelle niederohmig genug ist, wird über die schon angesprochenen internen Diodenstrecken der AVR und die sonstige Schaltung mit den 10V "versorgt". Ob es 10V werden, hängt von der Spannungsversorgung des AVR ab, einer beteiligten gibt eben zuerst auf... Die 4V bei interner AREF ergeben eben 1023 als Wandlungswert, sonst passiert da nichts. Rest steht im Datenblatt des AVR. Gruß aus Berlin Michael
-
Thread
SPS und Mikrocontroller Gesperrt
AVR erst 4us gedauert hatte. Z
hauptsächlich SPS glaube ich steht fest das alles seine Berechtigung hat. Die Industrie kann den AVR so nicht gebrauchen, alleine schon durch 3,3 / 5V. Dort ist alles auf 24VDC ausgelegt. Weiterhin glaube ich das eine Automatisierungslösung mit einbem AVR nicht mehr überschaubar ist. Und was
-
Thread
"ISP" - Programmierleitung von 6 metern Länge möglich ?
74HC126 Treiber reichen, dessen Ausgänge normalerweise auf 3-state geschaltet sind und der räumlich am AVR angeornet ist. Somit bekommt der AVR saubere Signale ohne Überschwinger. Die lange Leitung kann man niederohmig mit Widerständen bedämpfen, ohne den AVR zu belasten.
sind Inputs, MISO ist Output) Andere Variante: Du verwendest diese: http://s-huehn.de/elektronik/avr-prog/avr-prog.htm Schaltung für den seriellen Port. Die Leitungen auf der RS232 Seite dürfen ja lang sein. Ich bin zwar kein Freund von solchen Programmern, aber bei Deiner Aufgabenstellung.....
-
Thread
Verkürzte Schreibweise von PIND%2
eine 1 Warum will er die direkte / verkürzte Schreibweise nicht erkennen? - ATmega8 - WinAVR GCC
den CPU-Typ-Eintrag im Makefile! Abgesehen davon steht sie wie auch die io.h im Unterverzeichnis "avr"... Du solltest die Datei auch nicht einbinden, sondern sie öffnen und lesen, was drinsteht.
-
Thread
WordClock mit WS2812
Crystal-Freq 26M SPI Speed 40MHz SPI Mode DIO FLASH SIZE 4Mbit SPI AutoSet COM PORT - Dein COM Port Baudrate 115200 einstellen.
meldet sich: UDP aktiviert ESP8266 now up # ESP8266 wurde erkannt (- local port: 2421) # ESP8266 meldet sich: horcht auf Port 2421 (- setup server UDP) # ESP8266 meldet sich: UDP server aktiviert (- local port: 2424) # ESP8266 meldet sich
-
Thread
Unterschiedliche Codeversionen im Tutorial
temp2 ret [/avrasm] Wozu sind die zusätzlichen Zeilen? Wiso lässt man da den Port noch mal einlesen? Bin grad irgendwie irritiert, auch da bei mir nur die zweite Version funktioniert. Ich kann den Sinn dahinter jedoch nicht erkennen, und weiß auch nicht, ob das der Fehler bei
Die kleine Version geht davon aus, dass am Port nur das LCD hängt und überschreibt ungenutzte Bits einfach mit 0. Die große Version nimmt Rücksicht auf die unbenutzten Bits, indem sie den Port einliest und nur die Bits verändert, die für das LCD
-
Thread
Empfehlung Tutorial PIC16 (in C) ?
empfehlen? Deutsch oder Englisch ist egal, Video oder schriftlich auch. Es sollte vom Ansteuern von Ports beginnen und auch PWM, I2C, Interrrupts umfassen. Edit: Das genaue Modell ist PIC16F1829, falls das noch wichtig sein sollte.
sind da halt immer Read-Modify-Write-Befehle, daher das Latch, auf dass das Port-Register NIEMALS schreiben kann.
-
Thread
DS18S20 bringt immer 127
Und die Delays stimmen so alle? In der avr-libc finden sich präzise Delay-Funktionen - und hier im Forum fertiger und funktionierender DS18x20-Code von Peter Dannegger. NB: Interrupts sind der Gegenspieler ungeschützter Delay-Schleifen.
Hi, also der PIN ist 100%ig richtig angeschlossen an PB2. Der Port ist auch auf Ausgang geschaltet. Wie teste ich denn ohne Oszi ob zur richtigen Zeit gelesen wird?
-
Thread
Langer Tastendruck in RB_ISR (PIC CCS-Compiler)
die Tastenabfrage sieht folgendermaßen aus [c] #int_RB void RB_isr() { unsigned int new_PortB=0; unsigned int changes=0; new_PortB =input_b(); //erstmal PortB einlesen new_PortB = ~new_Portb, // Ergebnis invertieren da LOW-Aktiv disable_interrupts(INT_RB); //erstmal PORTB-Interrupts
. Überreden brauchst Du mich nicht, da ich in meiner Routine eh schon alles mit Interrupts mache. PortB wird mit Interrupt abgefragt und die Entprellroutine auch mit Interrupt gemacht. Das sind beim CCS-Compiler die kryptischen #int_RB void RB_isr() z.B. als PIN-Change- Interrupt. Das sieht beim AVR