-
Thread
Anfängerproblem: Im Zustand "gefangen"
jemand dabei helfen, die Tomaten von den Augen zu bekommen? :-) LG, Daniel [code] #include <avr/io.h> #include <avr/interrupt.h> #include <inttypes.h> int i = 0; // Timer Overflow counter int state = 0; // Status int main(void) { DDRB = 0xFF; // Port B as output
Du auch PORTB wieder einlesen: [c]> ISR(TIMER0_OVF_vect) { if(++i == 14) { if(PORTB == 0x7F) { PORTB = 0xFE; } else { PORTB = ~(~PORTB << 1); } i = 0; } }[/c]
-
Thread
c++ programmierung µc
kann)? Wie spreche ich das externe Flash z.B. an? oder einzelne Ports? Muss ich hier PortB als variable definieren? Kennt jmd. gute seiten, in denen erklärt wird wie man am besten mit c oder besser c++ einen mikrocontroller programmiert bzw. welche strukturen man einhalten
(wird ne ganze Weile dauern). > Muss ich > hier PortB als variable definieren? Ich kenne die ARM nur mit numerierten Ports (PORT0, Port1 usw.). Z.B. bei den ST-ARM werden die Ports über Pointer mit Offset angesprochen, sonst macht sich der ARM tot
-
Thread
2 verschiedene gnds verbinden
das gnd deiner avr-spannungsversorgung, ist das mit der erdung verbunden? (also der in der steckdose) und der usb-port: in nem laptop? od. pc? sofern die spannungsversorgung von deinem avr nicht geerdet ist dürftest
dann hat es keinerlei chance einen bezug zum gnd zu haben und es ginge auch bei einem "geerdeten" avr)
-
Thread
Ultraschallgerät(Medizin) HMI Touch Vertikale Streifen
Kann es sein das der AVR ggf über die HDMI Schnittstelle das Display EDID liest und den FPGA entsprechend läd? Kommt auf der I2C am HDMI was? Ggf wird der FPGA nicht geladen weil der AVR nichts gültiges an edid einlesen kann
vom Atmel, ... > die Busleitung hat nichts, nur der XTAL1 Das Signal am XTAL1 /kommt/ nicht vom AVR, sondern das Taktsingal mit 8MHz /kommt/ von einem Taktgeber und geht in den AVR /hinein/. Der nächste Pin, der dann interessiert, ist der Reset-Pin des AVR. Johann L. schrieb im Beitrag #6436241
-
Thread
Dosieranlage über AVR Mega8
://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR Tipp: In der Softwarelösung oben wird davon ausgegangen das deine Taster gegen GND schalten. Dazu werden die internen Pull-Up Widerstände des AVR genutzt
nicht belegt..... Wie ich gerade gelesen habe müssen diese aber angeschlossen werden, damit der Port, welchen AVcc versorgt auch funktioniert. Muss ich meinen mega8 denn genau so beschalten, wies auf diesem Plan der Fall ist? (Quarz mal aussen vor) http://www.mikrocontroller.net/articles/AVR-Tutorial
-
Thread
Starten eines Programmes Atmega8
.3 Taster Alias Portc.4 'Einlesen des Tasters Do If Taster = 1 Then Led10 = 0 End If Gosub Sub Sub: Led2 = 1 Waitms 40 Led2 = 0 Waitms 40 Loop End
.3 Taster Alias Portc.4 'Einlesen des Tasters Do If Taster = 1 Then 'Led Programm starten 'Led Programm Led1 = 1 Waitms 50 Led1 = 0 Waitms 50 Led2
-
Thread
Über Mikrocontroller Beschleunigungssensor auslesen
Beschleunigungssensoren verwende, die analoge Spannungen ausgeben. Die dann in einen Mega8 über die AD-Wandler einlesen und in menschlesbare Dezimalzahlen umwandeln und sagen wir im Sekundentakt auf einem Display ausgeben zu lassen. Weil ich schon kleinere Projekte mit AVR-Assembler gemacht hatte und das AVR-Tutorial
Vielleicht kann einer von den Profis mal ein Auge auf den Code werfen? Danke! [c]#include <avr/io.h> #include <util/delay.h> #include "m50530.h" #include <stdlib.h> #define DDR_SPI DDRB #define PORT_SPI PORTB #define PIN_SPI PINB #define DD_BMA020_CS PB4 #define DD_MOSI PB5 #define
-
Thread
G-Code-Interpreter und µStep-Controller mit ATmega644
installiert werden. *Flash21* 1) unter Datei/Auswahl -> die "TMC_config.hex" auswählen 2) unter Port -> den COM Port der USB-RS232-Brücke auswählen (dazu vorher verbinden, bevor man das Programm Flash21.exe ausführt) 3) unter COM-Port -> 115200 Baud einstellen (sollte aber eigentlich egal sein) 4
da einen Quarz dran? Wenn ja wie groß? Wie sieht deine RS232 Schnittstelle genau aus. Welchen COM-Port benutzt du? Wie überträgst du den Bootloader? Mit AtmelStudio7 hab ich noch nicht getestet. Ich benutze immer noch das AVR Studio4. Die Clockfuses musst du auf ext. Crystal (ext.Quarz) stellen
-
Thread
serielle Daten über einen Pin einlesen
immer der ganze Port gelesen und abgespeichert oder? Welche Lösung nimmt man überlicherweise für so ein Problem. Hab schon diese Funktion gefunden, for (j=0;j<=7;j++) //Schleife zum einlesen der 8 Bits {
mit den Bitoperatoren bleibst. :-) Sofern yourtriggerbit zur Compilezeit konstant ist, würde der AVR-GCC daraus übrigens (bei eingeschalteter Optimierung) SBI und CBI Anweisungen zimmern.
-
Thread
Lüfterdrehzahl auf LCD
die Frage wie ich die Funktion Realisiere, gibts irgendwo einen Verwendbarencode oder ansätze für avr-gcc? Danke
Hab aktuell folgenden Code gebastelt: [c] #include <stdlib.h> #include <avr/interrupt.h> #include <avr/io.h> #include <avr/pgmspace.h> #include "lcd_lib.h" #include "debounce_keys.h" volatile uint8_t time = 0; //time = Zeit zwischen 2 impulsen volatile uint8_t i = 0
-
Thread
Heizungssteuerung mittels I²C?
als Multitasking in Hardware. Was ich statt dessen verwendet habe, ist Multitasking in Software (AvrX). Wobei AvrX mit seinem unweigerlich preemptiven Multitasking Fallstricke aufweist, die bei kooperativem Multitasking nicht auftreten, insofern nicht jedem zu empfehlen. Das ganze geht natürlich
mikrocontroller.cco-ev.de/de/heizung.php Da hat jemand genau das aufgebaut was du bauen möchtest. Dort wurde nur ein AVR Controller (ATMEGA 32) verwendet. Es wird ua. der Quellcode für den AVR und ein Windows Programm für die Einstellung der Heizkurven zu Verfügung gestellt. Der einzige Nachteil ist das dieses Gerät
-
Thread
negative Flanke in C erkennen, Erklärung gesucht
ein x UND !y benötigt, d.h. [c] port_neu = ~PINC; port_neu &= ((1 << MASK1) | (1 << MASK4)); port_flanke = (port_alt && port_neu); port_alt = ~port_neu; [/c] Was übersehe ich an der Stelle, bzw. warum die XOR und UND Verknüpfung
eine negative Flanke > erkennen, also einen Wechsel an einem Portpin von 1 nach 0. Dazu wird > der Port zyklisch abgefragt Da Du Dich lt. Code ja vermutlich auf einem AVR MC bewegst - was spricht gegen die Nutzung eines Interrupts (statt ständig zu pollen)? Auf einem ATMEGA328 z.B. könntest Du INT0
-
Thread
SPI Daten aufnehmen
mir kann jemand ein kleinen Denkanstoss geben. Mfg Dirk ---- Master Code ---- #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <stdio.h> #include <avr/delay.h> #include <avr/pgmspace.h> #include <stdlib.h> #include "uart.h" #define XTAL_CPU 4000000
Hi, mein Master AVR sendet 0000 1111. Mein Slave AVR erhaelt immer 1000 0111.
-
Thread
einzelne PIN ( PORT ) als Ein/ Ausgang zugreifen
Bitte schau Dir mal das [[AVR-Tutorial]] an. Da steht alles Wissenswerte drin. PIND4 ist eine Zahl und kein Register, weshalb das mit dem "in" schon mal nicht klappen kann. Und Du kannst auch nicht einem ganzen Port den Wert eines
[[AVR-Tutorial: IO-Grundlagen]]
-
Thread
MMC/SD-Karte mit FAT16 an AVR
Welche aufgabe übernimmt eigentlich am avr immer der port ss an der mmc-karte? kann man auch eien anderen port nehmen?
Hallo zusammen Ist es möglich die SD-Karte an einem anderen Port und somit nicht mit dem Hardware SPI des AVR zu betreiben mit dem Code von Roland Riegel? In sd_raw.c wird ja das SPCR Register entsprechend konfiguriert...
-
Thread
Atmega 32 RC5
dort etwas konfus vor. Aus dem Bauch raus würde ich sowas erwarten (ungestestet!) [C] #include <avr/io.h> #include <avr/interrupt.h> #include "LCD.h" #define F_CPU 1000000 #define NUM_RC5_BITS 14 volatile unsigned char code_B[NUM_RC5_BITS]; volatile unsigned char wartezeit; unsigned char
habe ich wartezeit mal auf 6 gesetzt ( bedeutet ja um 127µs weiter in der mitte). Die Abfrage zum einlesen des Port Status wird nun erst nach 14 Timer Overflows ausgelöst. Nun ist mir aufgefallen das sich im Code Bereich die beiden letzten beiden Bits (Bit 13 und Bit14), egal welche Taste gedrückt wird
-
Thread
HTerm "save output" konfigurieren
Du die Quelldatei nicht gleich mit VBA ein? Das ist gerade mal eine Schleife mit byteweisem Einlesen + Dateihandling (Aufmachen und Schließen).
und konsorten nicht vertraut... Dann mach's in C, ist auch kein Problem ;-) - Zwei Zeichen einlesen - Zwei Zeichen rausschreiben - \r\n rausschreiben - wieder von vorne bis eof
-
Thread
Tonsignal verzögern
alternativ fertige Bausteine die das bewerkstelligen. Die Ausgabe muss ev. schon wärend des Einlesens beginnen. Max Länge der NF ist irgendwo bei 300 msec. Conrad hatt(e) mal solche/ähnliche Bausteine. Es kommt nicht auf Hifi an. Kurt
Bit des Port A verfügbar. Über ein R2R Netzwerk gings direkt mit 7 Bit Auflösung raus. Jedoch verunsichern mich die beiden gegenteiligen Aussagen von mr.chip: --------------- Die Sample-Rate kannst du
-
Thread
Ethernet - Serielle Verbindung
ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ' SerialPort1.PortName = "COM4" ' SerialPort1.BaudRate = 9600 ' SerialPort1.Parity = IO.Ports.Parity.None ' SerialPort1.DataBits = 8 ' SerialPort1.StopBits = IO.Ports.StopBits.One ' SerialPort1.Handshake = IO.Ports.Handshake.None ' SerialPort1.RtsEnable = True SerialPort1.Open() If SerialPort1.IsOpen Then Label1.Text = "...verbunden"
-
Thread
#define Ports
Port einmal etwas einlesen und dann wieder was auslesen muß, also so eine Art Bus. - sbi ist obsolet
[c] #define ADDR_0_PORT PORTB #define ADDR_0_PIN PB5 //A0 #define ADDR_1_PORT PORTB #define ADDR_1_PIN PB3 //A1 #define ADDR_2_PORT PORTD #define ADDR_2_PIN PD6 //A2 #define ENABLE_0_PORT PORTB
-
Thread
Drehencoder auswerten
Wenn ich Dich richtig verstehe, willst Du den Drehgeber über die Ports des PCA8574 einlesen, oder? Hast Du bedacht, daß die Abtastrate dieser Ports durch die I2C-Verbindung begrenzt ist? Angenommen, Du taktest den Bus mit 400kHz (Maximum für den PCA8574). Du brauchst
Flanken zu erkennen, steigt die Interrupt-Last mit der Drehzahl. Die Frage ist: Kannst Du in Deinem AVR soviel Interrupt-Last vertragen oder nicht? Wenn ja: Häng den Encoder direkt an Port-Pins. Wenn nein: Könntest Du z.B. einen zweiten, kleinen AVR spendieren, der nichts anderes tut, als den Drehgeber
-
Thread
AD-Wandler Free Running - Mega8
Hab mir jetzt die neue AVR Studio Version installiert und festgestellt dass die Speicher- Nutzung/Belegung angezeigt wird. Ist das erst seit 4.13 Build 528 so ? AVR Memory Usage ---------------- Device: atmega8 Program
>Dann setze ich ADLAR ... Auch dann mußt Du _ADCH_ einlesen. _ADCL_ muß dann nicht gelesen werden.
-
Thread
Hilfe bei ADC Übung
bevor Du irgendwas ausliest! So wird das nichts. Schau Dir bitte die entsprechenden Abschnitte im [[AVR-GCC-Tutorial]] an. Da steht wie's geht. Außerdem solltest Du für die Anwendung das Bit ADLAR setzen. Dann brauchst Du nur ADCH auszulesen und kannst den 8-Bit-Wert direkt an den Port ausgeben.
Funktion um einen ADC auszulesen. http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#ADC_.28Analog_Digital_Converter.29
-
Thread
Mit Atmega16 externes EPROM auslesen?
dann hast du nach der Zugriffszeit die Daten am EPROM-Ausgang, von wo aus du sie mit einem 8-bit-Port wieder einlesen kannst. Man braucht natürlich ziemlich viele Portpins für Adressleitungen. Könntest du ggf. durch Multiplexen machen, dann brauchst du ein (oder zwei) 74*373 Register dazwischen
AVR mit 40Pins (keiner mit ADC), dann Daten-, Adress- und Steuerleitungen an Ports und Lesevorgang "händisch" nach Datenblatt programieren -> Fertig ist halt "etwas" Verdrahtungs- und Programmieraufwand
-
Thread
Mein TransistorTester geht nicht an, wie neuen 328p flashen?
fürs "Neu-Flashen" benutzen. Viel Erfolg Gruß Horst P.S. Spannung messen wird häufig über Port PC3 (Pin26) und einem entsprechenden Spannungsteiler erledigt. Ist bei dieser Platinenversion aber nicht vorgesehen (Pin26 unbeschaltet).
habe die selbe Software Version Galep32 1.20.4 .... Funktioniert so nicht, evtl hast du eine andere Port Adresse in deiner Galep32.cfg :) (PCI Karte). Naja jedenfalls habe ich jetzt 3 Lösungen. 1. Ein Arduino 328p einlesen und als Projekt abspeichern. Das funktioniert ganz gut, nur nicht die ProjektDatei
-
Thread
Servoausgänge verUNDen
der Mega48 auch können. Ansonsten ist PCI schon richtig, beide Kanalimpulse an zwei Pins eines Ports, nur die benutzten Bits maskieren (PCI-Maske), jeder Pegelwechsel an einem der Pins löst den PCI aus. Bitmuster einlesen, um zu erkennen in welcher Phase man sich befindet, und dann Differenz zum letzten
Mega48 auch können. > > Ansonsten ist PCI schon richtig, beide Kanalimpulse an zwei Pins eines > Ports, nur die benutzten Bits maskieren (PCI-Maske), jeder Pegelwechsel > an einem der Pins löst den PCI aus. Bitmuster einlesen, um zu erkennen > in welcher Phase man sich befindet, und dann Differenz
-
Thread
Brauche Hilfe=)
System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO.Ports; using System.Threading; namespace Serialport_test { public partial class Form1 : Form { SerialPort com; public Form1() { InitializeComponent
ich mache da was mit dn Bit nicht richtig oder so. C# Serialportinitialisierung: [c] SerialPort com = new SerialPort("com3", 9600, Parity.None, 8, Stopbit.Two); [/c] MfG Atmega 168
-
Thread
RS232 Mega8-Pc
unterputz" als SMD Fuses: Für Anfänger ein heißes Eisen http://www.mikrocontroller.net/articles/AVR_Fuses Lesen und verstehen (wichtig)
Du hast ein ISP Kabel für den Parallel Port? -> Google: "yaap" oder "ponyprog" Und Tutorial lesen!
-
Thread
Atmega8 läuft nur mit internen Quarz, nicht aber mit externen
mal pro Sekunde. dann muss der Fehler irgendwo im Quelltext stecken,... hier: [c] #include <avr/io.h> #include <util/delay.h> #define SCREEN_WIDTH 122 #define SED1520_DATA_PORT PORTD #define SED1520_DATA_DDR DDRD #define SED1520_DATA_PIN PIND #define SED1520_CONTROL_PORT PORTC
CONTROL_PORT &= ~SED1520_E1; asm("nop");asm("nop"); SED1520_CONTROL_PORT |= SED1520_E1; asm("nop");asm("nop"); tmp = SED1520_DATA_PIN; SED1520_CONTROL_PORT &= ~SED1520_E1; } else {
-
Thread
Taktvervielfachung - wer hat eine Idee?
eingeblendet) benötigt für einen Lese- oder Schreibzugriff mindestens 6 Takte (6502-Takte), d.h. der AVR hätte mit Sicherheitsreserve mindestens 40 Takte (AVR-Takt bei 8 * Atari-Takt) Zeit, entsprechende I/O Ports zu programmieren. Das sollte langen, wenn ich mit Tabellen arbeite, in denen die Bitkombinationen
eingeblendet) benötigt für einen Lese- oder Schreibzugriff mindestens 6 > Takte (6502-Takte), d.h. der AVR hätte mit Sicherheitsreserve mindestens > 40 Takte (AVR-Takt bei 8 * Atari-Takt) Zeit, entsprechende I/O Ports zu > programmieren. So viel Zeit hat der AVR nicht. Der Output des Dekoders muß ja
-
Thread
AD Wandlung mit IRQ
nur größere Messwertdifferenzen zu einer Regelung o.ä. führen? -> kontinulierlich/ gelegentlich einlesen und per Software auswerten
ADC ersetze mit ADCL in der Zeile, funktioniert es garnicht. So wie reinkopiert kann ich den ersten Port abfragen. Frage ich aber den zweiten ab, bekomme ich immer nur einen Wert für beide Ports zurück. Wäre toll, wenn mir jemand helfen könnte, ich kann noch so lange das Datenblatt durchlesen, ich seh
-
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
ATtiny85 (AVR Atmel 8bit), Linux, Microcontroller, C/C++
wirklich weiter. Allerdings ist das unter Linux wirklich kein großes Problem. Die Pakete gcc-avr binutils-avr avrdude (zum Flashen) avr-libc gdb-avr sollte man in jeder Distro so oder so ähnlich benannt finden. Dazu kann man ein eclipse mit eclipse-cdt und avr-plugin installieren, wenn
blinkenlight". 1.2. *DANN* kann man das Delay anpassen und weitere Spielereien durchführen, wie Port abfragen und LED entsprechend leuchten lassen, (bis hin zu komplexeren Sachen wie ADC einlesen und als PWM auf die LED geben). Das nimmt mindestens ein Wochenende in Anspruch. 1.3. *DANN* hat man
-
Thread
Anfänger in C und welcher PIC (evtl. uno32) ist geeignet ?
kennt, kann man später auch komplexe Projekte damit realisieren ohne gleich wechseln zu müssen. Ports setzen und PWM augeben / einlesen sin nicht schwieriger als beim PIC18.
kleinste 8-Bitter wird zu 95% der Zeit Däumchen drehen. Auch die Unterschiede zwischen PIC und AVR werden von C zu einem gewissen Grad nivelliert. Klar, die magischen Variablennamen für Ports, Timer & Co unterscheiden sich. Genauso wie die Includefiles in denen sie definiert sind. Aber das sind Kleinigkeiten
-
Thread
Hilfe zu AVR-Assembler-Befehl
Du kannst nicht direkt den Inhalt eines Ports in einen anderen Port kopieren. Also brauchst Du dafür ein Hilfsregister: in temp, adch out ocr1a, temp Gruß Michael
Englischversteher" ;-), da war mir das andere Tutorial ganz angenehm. Eine andere Frage noch: Gibt es in AVR-Studio auch so schöne "Schieberegler" zum Simulieren von AD-Wandler-Eingaben wie in BASCOM? MfG Paul
-
Thread
Bedieneinheit für PC Software - Taster, Encoder, Schalter wie einlesen?
die Schnittstelle abfragen. Habe ich mal Spaß halber mit den Arduino unter VB gemacht. Dim S_Port As New IO.Ports.SerialPort If S_Port.IsOpen Then S_Port.Close() End If S_Port.PortName = "COM10" S_Port.BaudRate = 9600 S_Port.Open() tx$ = hp_e_text_senden.Text + Chr(13) S_Port.Write(tx$) S_Port.Close() Das ist der ganze Code um an den Arduino an Com-10 zu senden. Eine modifizierte Variante und du empfängst auch Daten. Was ich damit sagen will, das ist nicht
-
Thread
AVR-Timing-Frage: PORTx so schnell wie Variablenzugriffe?
>A: PORTD auslesen, Bitschieberei in lokaler Variable, Gar nicht schieben, nur abfragen. Bei Einlesen muss es PIND sein. Beide Versionen dürften ansatzweise gleich schnell sein. Denn das wird alles auf Bitbefehle umgesetzt. Das dürfte 3 Takte / Port sein, in Summe 6 + Schleife, macht 8 Takte Umlaufzeit
Betrieb, mal 75400 Baud, wenn der Bootloader des WLAN-Chips aktiviert wird. > Zwei UARTs auf einem Port D? Normale AVRs haben sowas nicht, ist das ein Xmega? Das ist ein normnaler AVR (ATMega1284P)
-
Thread
Software-Entprellung via Timer
Hallo zusammen, ich bin noch nicht lange bei der AVR-Gemeinde dabei und stehe momentan vor einem kleinen Problem. Ich habe einen Mega32 und hab an den externen Interrupt1 einen Taster angeschlossen. Dieser prellt nun doch sehr heftig und nun versuche
Instruktionen ein mit 4 MHz getakteter AVR während 20 ms abarbeiten kann.
-
Thread
Einen Softcore (AVR) an andere FPGA anpassen?
ein IO Port und JTAG zum Programmieren funktioniert und sonst nichts.
versuche ich jetzt gerade zu implementieren. Denn dieser funktionierte im Repositorie nicht. Also PortB bis PortF, inclusive tongeln über set PIN sowie der Uart funktionieren schon.
-
Thread
ATTiny85 Serielle Bitfolge ausgeben
Aber das steht doch alles in jedem AVR Datenblatt. Du setzt die Richtung des Pins im DDR auf Input und schreibst dann eine 1 in das Pin Bit im PORT Register. Bitte lade dir erstmal das Datenblatt und lies es. http://www.atmel.com
Kenner, für was das Zeug unter dem PortB = ..... alles ist hab ich noch nicht kapiert
-
Thread
multiplexing mal anders
gestehen ich hab bis jetzt nur mit ATMEGA's <= 32 gearbeitet. Lt. Datenblatt ist das ISP-Interface an Port B angeschlossen, allerdings sind die SPI-Pins an Port A (an welchem auch die Analogports sind) Wenn die ISP-Pins mit den Analogports geshared werden, befürchte ich, dass ich das Teil im eingebauten
>Wie programmiere ich den Chip? ISP >Lt. Datenblatt ist das ISP-Interface an Port B angeschlossen, allerdings >sind die SPI-Pins an Port A (an welchem auch die Analogports sind) ISP ist an PortA >Wenn die ISP-Pins mit den Analogports geshared werden, befürchte ich, >dass
-
Thread
Welchen I2C Bus-Controller für C++
(Com&LPT). Diese Port Adresse(Nummer) verwendest Du dann in Deinem Windows Programm um auf das Arduino Board zuzugreifen. Das Programm auf dem Arduino (C,Bascom,LunaAVR) fragt dann in einer Schleife den Sensor ab und schickt
/Modulen schon froh sein. Im übrigen programmiere ich meine Hobby Projekte mit Delphi 7 und LunaAVR weil mir das am leichtesten von der Hand geht. Hier ein Luna Beispiel für den Arduino, es sendet fortlaufend ein "Hallo" an den PC: avr.device = atmega328p avr.clock = 16000000 avr.stack = 100
-
Thread
ATxMega Stick
Hallo, genau der AVR ISP mkII geht super. Damit teste ich alle Komplettaufbauten (ID auslesen). Der Stcik sowie das Board unterstützen JTAG. Nur auf dem ATxMegaStick ist der JTAG port nicht extra rausgeführt. Er ist auf
Chip45 (http://shop.chip45.com/epages/es10644620.sf/de_DE/?ObjectPath=/Shops/es10644620/Categories/AVR-Microcontroller-Software/AVR-Microcontroller-Tools-Software-AVR-Bootloader/AVR-Microcontroller-Tools-Software-Free-AVR-Bootloader) passt auf jeden Fall auf den Stick, und solange man/frau die Sourcen
-
Thread
Kann man das besser schreiben?
Puls erzeugen SR_PORT &= ~( 1 << SCK_PIN ); } // alle 32 Bits sind draussen // Die SR-Latches durchschalten SR_PORT |= ( 1 << RCK_PIN ); SR_PORT &= ~( 1 << RCK_PIN ); } int main() { uint8_t tmp,
Puls erzeugen value >>= 1; SR_PORT &= ~( 1 << SCK_PIN ); } // alle 32 Bits sind draussen // Die SR-Latches durchschalten SR_PORT |= ( 1 << RCK_PIN ); SR_PORT &= ~( 1 << RCK_PIN ); } [/C] [C] int main() {
-
Thread
Basic für 80C31
Oh, da muß ich mich selber mal schlau machen. Probiere bitte 10 DO 20 PORT1 = PORT1.XOR.1 30 WHILE 1 Damit sollte das untere Bit von PORT1 wackeln.
an 60 IF TIME < 0.1 THEN GOTO 60 70 GOSUB 1050 80 NEXT I 90 GOTO 20 990 REM Einschalten des Ports I 1000 P = 2 ** I 1010 PORT = PORT .OR. P 1020 PORTX = PORT 1030 RETURN 1040 REM Ausschalten des Ports I 1050 P = 2 ** I 1060 PORT = PORT .AND. (65535-P) 1070 PORTX = PORT 1080 RETURN
-
Thread
USB RFID Tag Leser
Taster 1 löscht EEprom des RFID Readers Taster 2 sendet message zum speicheren eines neuen Tags. Port X1 Schaltet bei bekannten Tag.
Datei für MProg dabei sein. Wegen der Firmware: Dafür brauchst du ein ISP Programmiergerät, z.B. den AVR ISP mkII. Gruß Stefan
-
Thread
Mega8 Port.Pin Zustand abfragen wenn gegen GND vs.VCC
> ich habe noch nicht viel Erfahrung mit µC, deshalb möglicherweise > die seltsame Frage: [[AVR-GCC-Tutorial]] [[AVR-Tutorial:_IO-Grundlagen]] > Wie erkennt der µC den Zustand eines Tasters high oder low: > a)wenn der PortPin im offenen Zustand in der Luft hängt und im > geschlossen Zustand
das PORT-Register verdrahtet und für das Einlesen das PIN-Register. Du kannst das PORT-Register auch auslesen, aber da erfährst du nur, ob die letzte Schreib-Operation auf das PORT-Register eine 1 oder 0 war
-
Thread
Probleme mit mehr als sechs DS18S20 am ATMEGA32
dass der Port-Pin mit so vielen DS18S20 nicht klar kommt? Gruß Holger
draht abgeschlossen mit > 30m leitung ohne probleme. http://birne.altmuehlnet.de/hp/px5/logger/avr.php mfg orfix
-
Thread
Timer interrupt wird nur einmal aufgerufen.
Anbei habe ich den Code angehängt den ich hoffentlich richtig einfügt habe, [c] #include <avr/io.h> #define F_CPU 8000000UL #include <util/delay.h> #include <stdint-gcc.h> #include <avr/interrupt.h> #include <avr/sleep.h> static uint16_t volatile count= 0; static uint8_t volatile
angemerkt nach jedem Zugriff schlafen legen: Was würde man dadurch gewinnen? Der Port nutzt sich durch mehrfaches Beschreiben ja nicht ab. Auch laufzeit- oder codegrößenmäßig macht es keinen signifikanten Unterschied.
-
Thread
ATmega8 überhitzt - simple Schaltung
Gewalt gerade an diese Pins ? Wie wäre es mit einem der dutzend unbenutzen Pins, wie wäre es mit PortB.0 ?
Michael B. schrieb im Beitrag #5315663: > PortB.0 ? Werde ich so machen. Danke für die Antwort, Jan :)