-
Thread
Heavy-Metal-Maschine von Elektor
Potis sind für die Anwendung natürlich wesentlich komfortabler als Druckschalter. Aber schafft der AVR denn auch alles gleichzeitig, fünf unabhängige Rechteckoszillatoren, deren EXOR-Verknügpung UND das Einlesen von fünf AD-Werten? Meine Idee wäre, die Potis nur auf Knopfdruck einzulesen. Dann müßten
.equ RS232_Port = 2 ;PortB Ausgang .equ Switch_PT100 = 2 ;PortA Ausgang .equ Switch_PT1000 = 3 ;PortA Ausgang .equ Relais_Motor_ON = 4 ;PortA Ausgang .equ HCT4094_Strobe = 5 ;PortA Ausgang
-
Thread
LCD Ansteuerung error
Das Problem scheint zu sein, dass für den XMEGA128A die Definitionen der IO-Ports nicht erfolgen. Ich kann das hier auch nachvollziehen (AVR Studio 4). Während beispielsweise für einen ATMEGA324p die Datei "iomxx4.h" eingebunden wird, welche die Portdefinitionen enthält, erfolgt
Ändere in der lcd-routines.h die Zeilen: [c] #define LCD_PORT PORTD #define LCD_DDR DDRD [/c] nach [c] #define LCD_PORT PORTD.OUT #define LCD_DDR PORTD.DIR [/c] und füge davor noch [c] #define PD7 7 #define PD6 6 #define
-
Thread
DCF-Uhr, Sonnenstand, TWI-Port, Alarmfunktion für m8 in C
geschrieben der > eigentlich nicht recht hier ins Forum passt. Nicht ohne Grund. Wer mal mit einem AVR und Bascom oder AVR-gcc oder Assembler gearbeitet hat, der wird eine C-Control und sein/ihr Basic nicht vermissen. Aus Unkenntnis habe ich leider vor einigen Jahren auch diesen Umweg gemacht.
auf 64 anstelle von 70. Damit sollte dann auch ein real existierender Port am Controller geschaltet werden. mfg Michael S.
-
Thread
Einlesen von Bits am Pin und ausgeben auf Display
Controllers nicht verstenden. Ich benutzen einen ATMega8. Am Pin PC5 will ich Bits mit jedem Takt einlesen und in ein array speichern. Dazu benutze ich diese Funktion in der ich den gesamten Port C einlese. [c] volatile uint8_t result[16]={0}; void datenLesen(){ //Hier wird pro Takt das ganze PINC
Du willst mit jedem Takt etwas einlesen? Was soll das werden? Du weisst schon das dann mein µC zu 100% mit einlesen beschäftigt wär?
-
Thread
[Assembler] Simulation in AVRStudio geht, in anderem Programm nicht
feststellen, dass der timer vernünftig läuft und regelmäßig ein interrupt aufwirft! aber Aktionen am PortB hat er komischerweise überhaupt nicht, auch wenn ich an dem Port ne taste drücke!) hat da wer ne idee, woran das liegt? hab ich da evtl. noch irgendetwas falsch gemacht in meinem code?
Befehlsliste. Weiterführende Informationen zu den > ASM-Befehlen findet man in der Online-Hilfe des AVR-Studios. Und wem das nicht reicht (oder wer kein AVR Studio, zwecks Hilfe nutzt), für den hat Atmel sogar noch was besseres: http://atmel.com/dyn/resources/prod_documents/doc0856.pdf
-
Thread
ATmega128 und LEDs bzw Schalter
; Richtungsregister DDRD als Eingang konfigurieren loop: in r16, PIND ; an Port D anliegende Werte (Taster) nach r16 einlesen out PORTB, r16 ; Inhalt von r16 an Port B ausgeben rjmp loop ; Sprung zu "loop:" -> Endlosschleife [/avrasm] Hier werden
;µC ist der mega128 ldi r16, 0xF0 out DDRD, r16 ; Pins 4-7 am Port D als Ausgang konfigurieren ; Pins 0-3 am Port D als Eingang konfigurieren loop: in r16, PIND ; an Port D anliegende Werte (Taster) nach r16 einlesen
-
Thread
atMega88: Timing Probleme
Takt von 1 MHz nach Erkennen eines Startcodes die nachfolgenden 44 Bytes (Nibble) einzulesen. Das Einlesen der Daten geschieht unter Ausnutzung der Taktflanke und des externen Interrupts. Das Warten auf den Startcode führen ich durch Pollen des Portes durch. Hierbei habe ich das Problem das das Erkennen
Nein. Erstens weil das per se Murks ist, und zweitens weil der AVR das ganz sicher NICHT schnell kann. Vergiss die Idee. Um das Ganze vielleicht ein wenig zeitlich zu entspannen meine Idee. Nimm ein 4 oder 8Bit FlipFlop (74HC273) und nimm es als Zwischenpuffer.
-
Thread
6502 Prozessor wer kennt den noch?
Sache da sich der AVR-IO verwenden lässt (bspw. USART) und man so eine Art 6510-µController hat. Mark
Der 6502 besteht aus 4000 Transistoren, ist also effizienter als der AVR :P
-
Thread
Entprellen mit Sam µC
neueren (SAMD und Verwandte) gibt es PIOA eigentlich gar nicht direkt, sondern dort müsste man PORT->Group[0].IN.bit.IN einlesen. (Zuweilen habe ich aber auch schon #defines gesehen, die PORT->Group[0] als PIOA abkürzen.) Edit: in deinem Beispiel liegt jetzt doch alles an PIOA, oder fehlt
In AVR weise ich einfach über dem Port den Pin zu den ich High setzen möchte bzw das Bit wieder löschen möchte... [c] if( get_key_short( 1<<KEY_unten)) { LED_PORT ^= 1<<LED0; countdown = 500
-
Thread
Analogsignal auf AVR
So und jetzt noch Festlegen der Ports: Das ist ja für IO etc. [c] #include <avr/io.h> #define F_CPU 9600000UL /* Quarz mit 9.6Mhz */ #include <util/delay.h> int main (void) { DDRB = 0b00110111
hab mal ein wenig probiert aber ohne Erfolg. Es fehlt noch eine Kleinigkeit: Irgendwie muss ich die Ports korrekt zuordnen. PB3 = Eingang Analog --> Wie??? [c] #include <avr/io.h> #define F_CPU 9600000UL /* Quarz mit 9.6Mhz */ #include <util/delay.h> int main (void) {
-
Thread
Schleifenabruch bei Tasterdruck
[c] #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #include "em4095.h" #define KEYS 2 #define BAUD 9600UL /*EEPROM schreiben*/ void EEPROM_write(unsigned int uiAddress, unsigned
{ tagout(tag); if (cmp_tag(key,tag)) PORTB=1<<PB6; //Led an Port PB6 aus und Led an PB7 an else PORTB=1<<PB7; //Led an Port PB7 aus und Led an PB6 an } else { PORTB=1<<PB7;} //Led an Port PB7
-
Thread
AVR und Lichtschranke
Hallo, ich bin hier bereits ein langer stiller Leser in eurem Forum. Nun habe ich auch ein Problem. Ich habe eine Lichtschranke. Mithilfe eines ATtiny 2313 möchte ich ein Relais eine bestimmte Zeit schalten, wenn ein Objekt die Lichtschranke unterbricht. Da ich (Schüler) allerdings noch Anfänger in der Bascom Programmierung bin, habe ich noch ein paar Fragen bei der Gestaltung dieses kleinen Projektes. Ich möchte, egal wie lange die Lichtschranke unterbrochen ist, das Relais bzw. den Port nur eine bestimmte Zeit (ca. 10s) schalten. Ich habe leider noch keinen Ansatz gefunden, wie ich diese
-
Thread
Datenlogger mit SD Karte, hoher Samplerate und 12-Bit ADC
hängt von deinen zu messenden Spannungen ab und der Stromversorgung. Die Grundbeschaltung eines AVR gibs zur Genüge im Netz sowe den Anschluss der SD Karte am AVR.
Steht hier alles auf der Webseite. Den proggste in C mit WinAVR oder AVR Studio. Das Programmiergerät heißt AVR ISP (gibt verschiedene). USBasp gibs fürn 10er beim ebaychinesen.
-
Thread
RESET am DS1820 tut nicht
Controller selber die Leitung aktiv nach oben ziehen. In diesem Code kommt jedoch der Zustand PORT.x=1,DDR.x=1 vor, und genau das sollte nicht sein. Korrekt ist also: PORT.x bleibt permanent festgenagelt auf 0. Will der Controller die Leitung runterziehen, setzt er DDR.x=0, will er sie loslassen
Ja wie müsste ich es in CodeVision_AVR machen?
-
Thread
Atmega32 mit Assembler und LED
zusammen, ich habe ein Pollin Eva.-Board V2.0.1 mit einem Atmega32 und über den JTAG Anschluss einen AVR Dragon angeschlossen. Als Software benutze ich AVR Studio. Da ich in Assembler-Programmierung gerade erst einsteige, habe ich einige Startschwierigkeiten. Ich habe zwar geschafft die beiden LEDs
Zum Port einlesen nimmt man PINx(Port INput x) Register. Auch nicht vergessen, die Datenrichtung mit DDRx(Data Direction Register x) einzustellen. x steht hier für einen Portnamen. Zum Ausgeben dann PORTx.
-
Thread
RFM01 Empfänger mit Interrupt
! Erste Zeile nach main. > * (an den RFM sende ich dazu : 0xc0a2, 0xce88, 0xce8b) [c] RF_PORT=(1<<CS); RF_DDR=(1<<SDI)|(1<<SCK)|(1<<CS); for (i=0; i<16; i++) _delay_ms(10); // wait until POR done rf01_trans(0xC2E0); // AVR CLK: 10MHz rf01_trans(0xC42B);
("Interrupt"); unsigned char c; cbi(RF_PORT, SDI); sbi(RF_PORT, CS); //low avctiv cbi(RF_PORT, SCK); sbi(RF_PORT, SDO); //low activ _delay_ms(2); cbi(RF_PORT,CS); //RFM ausgewählt for (j=
-
Thread
High speed am AVR Analogkomparator?
Kann mir mal jemand auf die Sprünge helfen? Ich find's im Datenblatt nicht! Wie schnell ist der Komparator (z.B. im ATTiny85) überhaupt? Kann ich noch mit einem 8MHz-Signal das ACI-Flag Triggern?
-
Thread
AD-Werte auf LCd ausgeben
ATmega32. > Gibt es die irgendwo für den ATmega32? Das ist quatsch. Die lcd.c geht für jeden AVR-Prozessor, solange er nur genug Pins hat. > Habbe jatzt den LCD Port mal von A auf D geändert. Muss ich sonst noch > auf irgendwas achten? Stell deine Konfiguration ein. Quarzfrequenz und an
lcd.h ein (und kontrollierst nochmal die anderen beiden R/S und E. Speziell E! E ist im Tutorium am AVR-Pin portD-5. In der Standardvorgabe der lcd.h ist es aber portA-6. Wenn du also nur portA auf portD änderst und sonst nichts, dann hast du die lcd.h falsch konfiguriert.
-
Thread
Taster an Atmega8 -> PC HILFE ( VB 2008 )
&hash=item564571ffb4 Edit: oder mit Print schicken und einlesen und vereibeten lassen mit VB ?
musst. Einfach deinen Avr Midifähig machen und an den PC anschließen.
-
Thread
Hilfe bei PWM Signal und Hardware nötig!
würde ich den Pulldown für die beiden FETs auch noch erhöhen z.B. bis zu 47K, je nach verwendetem Port. Cx und Speisung wurde ja schon erwähnt.
Anschaffung eines Boards mit einem moderneren und verbreiteteren Mikrocontroller empfehlen, z.B. einem AVR von Atmel. Gibts bei Pollin schon für 15€ + ca. 3€ Controller. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment#AVR-Tutorial_-_Ben.C3.B6tigte_Ausr.C3.BCstung Zu den AVRs findest
-
Thread
Regelalgorithmus programmieren mit ADUC7026
/^CONVstart) des uC meinst. Das würde ich ja gerne, nur weiß ich nicht, a) als was ich den Port Pin Nr. 42 konfigurieren soll b) wie ich die Daten, die an diesen Port Pin angelegt werden, abgreife (mittels einer Funktion?) Danke
. Bei dem Port 2.0 habe ich leider keinen blassen Schimmer.
-
Thread
Schieberegister lesen vs. Array / Variable mit C
lese mein Schieberegister mit nem kleinen C-Programmschnipsel ein: [c] void inp_read() { INP_PORT |= (1<<INP_PL); INP_PORT &= ~(1<<INP_PL); // An /PL neg. stroben! INP_PORT |= (1<<INP_PL); // = Eingänge in Speicher lesen! unsigned char bits; // 8 Bits einlesen! for (bits = 8; bits > 0; bits--) { INP_PORT |= (1<<INP_CLK); INP_PORT &= ~(1<<INP_CLK); // An Clock neg. stroben! INP_PORT |= (1<<INP_CLK); // = Eins weiterschieben! if (INP_PORT2 & (1<<INP_DIN)) { inp_data[0] |
-
Thread
Pin A digital einlesen
durch einen mega 16 ausgetauscht. Da war einiges zu ändern und bis auf den PINA, den ich digital einlesen will, funktioniert alles bestens. Meine Frage ist nun, was muß ich einstellen, um den Port A als Digitaleingang wie im 8515 zu benutzen? Für Eure Hilfe wäre ich dankbar. Mit freundlichen Grüßen, Splitter
Hier auf dieser Seite links ist das AVR-GCC-Tutorial unter "Allgemeiner Zugriff auf Register" hast du alle Möglichkeiten beschrieben
-
Thread
AT91SAM7X schwächelt
ich spinn mal ein bisschen rum: -2 mal 16 bit per spi einlesen und 8 bit verwerfen? -3 mal 8 bit per spi einlesen? -3 8-bit-sipo schieberegister und parallel in den sam7 einlesen? -cpld als 24bit sipo-schieberegister? -cpld + sram und die daten zwischenspeichern
16bit datenregister lösen würde das geschwindigkeitsproblem aber bestehen bliebe. werd mich nun mal einlesen...
-
Thread
DIP-Schalter an ATmega8515
RTFM http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Eing.C3.A4nge_.28Wie_kommen_Signale_in_den_.C2.B5C.29
Man kann die DMX-Adresse nicht direkt einlesen, da die einzelnen Pins mit einschalten des Schalters, auf Low gezogen werden... Wenn man ihn direkt einliest, kommt nur Schwachsinn raus :)
-
Thread
Vier PWM über eine Signalleitung
doch für Dich sicher ein Kinderspiel. > Danke. Voraussetzung: gleicher µC, gleicher Quartz, ein Port A mit 8 Bit, wovon die ersten 4 vom µC an die Gegenstelle gesendet werden und umgekehrt. Quasi Bidirektional jeweils 4 Bit. Register/Framework: * trisA: (wr-only) 1=input, 0=output * portA
nibble output, lower = input */ uart_init(); for(;;) { if(tx_flg) {reg_tx = portA | 0xf0;} if(rx_flg) {portA = reg_rx << 4;} } } [/c] Da die high-bits 1 sind, gibt es kein Synchronisierungsproblem des Uarts. (Edit: Dass es genau 10 sind ist Zufall. Und ja,
-
Thread
LCD Mit pc verbinden
LPT-Druckerport >ankabelt und dann direkt vom PC aus ansteuert. Wozu brauchst du da dann >einen AVR? Richtig, es geht zum größten Teil über LPT. >Oder gibt es da mitlerweile auch andere Anschlussmöglichkeiten? COM Port kann man auch machen wenn man ein passendes Display hat. Das ist dann
funktioniert? Die serielle Schnitstelle im PC ist aber nur eine virtuelle, die im PC auf den USB Port geht, der dann auf dein AVR Board geht, wo wieder ein IC sitzt, der es wieder in ein serielles Signal umwandelt das du dann mit deinem uC einlesen kannst. Hast du die serielle Schnittstelle schon im
-
Thread
Gameboy (DMG) ROM mit Arduino auslesen
LED auslesen wenn man viel Langeweile hat. Er kann auch mehrere Sekunden warten und das Datum einlesen. Langsamer geht immer. :-)
gottseidank überlebt da ich nur eine angeschlossen hatte... Dann habe ich die Adressleitungen an die Ports A0-A15 des Mega geklemmt. Sind zwar eigentlicht für Analogeingänge, aber dem Atmega ist das wurscht, der kann die Ports auch als digitale Eingänge schalten. Die Datenleitungrn an Port A und die
-
Thread
Hilfe bei AVR!
Hallo zusammen, ich brauch unbedingt eure Hilfe bei C++ und AVR. Bitte um schnellste Rückmeldung. Danke Fp
Um wieviele Stellen musst du daher in welcher Richtung verschieben? Du weißt nicht wie man einen Port einliest bzw. auf einen Port ausgibt? Ich kann das kaum glauben.
-
Thread
Anfänger problem
diese Logik kommst ist mir rätselhaft. Du arbeitest mir ein bischen zu viel auf Bit-Ebene an den Ports. Mittels 'in' kannst du nur den ganzen Port einlesen, so wie er grade eingestellt ist. Was du aber möchtest ist, du möchtest das Bit Nummer 4 in dem was du vom Port gelesen hast (und was jetzt
all die cbi, sbi, und wie sie alle heissen. Mach dir einen Plan. Was soll passieren? 0) die Ports entsprechend initialisieren 1) die LED an B-1 einschalten 2) den B Port einlesen 3) Im Eingelesenen das Bit 0 testen Ist es gesetzt, dann die LED an B-2 einschalten Wenn nicht
-
Thread
Tasten-Matrix entprellen
Peter Dannegger schrieb im Beitrag #1500206: > Beim AVR darf man auch nicht den Port setzen, sondern das DDR-Register > (Portbit immer low), sonst kommt es zum Kurzschluß, wenn man 2 Tasten > drückt. > Man muß also einen Open-Drain-Ausgang nachbilden
Werner schrieb im Beitrag #3289933: > Peter Dannegger schrieb im Beitrag #1500206: >> Beim AVR darf man auch nicht den Port setzen, sondern das DDR-Register >> (Portbit immer low), sonst kommt es zum Kurzschluß, wenn man 2 Tasten >> drückt. >> Man muß also einen Open-Drain-Ausgang nachbilden
-
Thread
PWM einlesen beim mega32
<Werbung> http://www.hanneslux.de/avr/mobau/index.html </werbung> ...
hat 240Hz ==> 0.00416667 Sekunden Daraus ergibt sich 0.00416667 / 0,000016 = 260 Die LEDs an PortC 0 - 6 sollen je nach Dutycycle aufleuchten. Nun zum Code: [c] #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 4000000UL volatile int flanke=0; volatile int aktuell_pwm_l=0
-
Thread
Mein erstes Programm.funktioniert nicht
Gegensatz was man so im Inet > findet! > Ich hab da noch ne Frage: Was ist der Unterschied zwischen PortB.0 und > PinB.0? Spätestens jetzt solltest du dich auch als BASCOM Programmierer ein bischen mit den Grundlagen deines µC beschäftigen, welche zb im [[AVR-Tutorial]] zu finden sind. Konkret kannst du hier [[AVR-Tutorial:_IO-Grundlagen]] zu Lesen anfangen.
-
Thread
Was mache ich falsch
Du definierst Port D als Eingang, oder nicht? /* alle Pins von Port D als Eingang */ DDRD = 0x00; ...fragst aber auf Port C ab! if ( PINC & (1<<PINC5) )
Wenn das Programm so mit WinAVR übersetzt wurde und nicht noch extra ein Bootloader irgendwas verkurbelt, dann ist es okay. (Ports sind erstmal alle Eingänge) Ein Fehler außerhalb des Programmes wäre am Wahrscheinlichsten. Wie
-
Thread
Wie steuert man AVR Ausgänge richtig an?
Zum Grundverständniss würde ich gerne wissen wie man den Ausgang eines AVR richtig ansteuert. Wenn ich zb. folgende Verdrahtung habe: PortD.0 -> Taster PortC.0 -> LED gegen HIGH (+5V) geschalten. Will ich jetzt mittels deiesen taster die LED zum leuchten bringen gibt
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_IO-Ports
-
Thread
AVR-Fragen...
. Aber ganz genau weiss ich das jetzt auch nicht. Das steht aber in den Datenblättern bei den I/O-Ports. 6: Spätestens dann, wenn Du einen I/O-Port als Eingang definierst, wird der nach außen hin hochohmig (Tri-State) sein. Allerdings kannst Du auch im SFIOR-Register alle Ports gleichzeitig in den
zwischen anlegen des Pegels und Einlesen. Für das Schreiben (was für mich viel wichtiger ist) gab es leider absolut keine Angaben. Ich wäre für jede weitere Information dankbar... :-)
-
Thread
Visual Studio C#: Probleme mit empfangen Zeichen
e) string port = toolStripComboBox_port.Text; int baud = 38400; try { /* port, baud, etc auslesen */ serialPort.DataReceived += new SerialDataReceivedEventHandler(serialPort_DataReceived); serialPort.Open(); } catch { buttonClose_ButtonClick(this, null); } } private
-
Thread
Mega8: VQC10 LED-Matrix 5x7 Zeitmultiplex - Bestimmte Bits eines unsigned char auf Ports ausgeben
Du kannst die auf den Ports ausgegeben Daten auch wieder einlesen. In deinem Beispiel wären das PINB und PIND. Am Decoder für die Select-Signale solltest du auch unbedingt ein Enable-Signal benutzen. Beim Wechsel der Eingangssignale
Mike schrieb: > Du kannst die auf den Ports ausgegeben Daten auch wieder einlesen. In > deinem Beispiel wären das PINB und PIND. Laut Simulation in AVR-Studio passt der Inhalt der Ports. Ich arbeite über eine lokale Variable um Änderungen
-
Thread
AVR Videogenerator, 40x25 Zeichen, nur 60% CPU Auslastung !
ich deshalb einen Inverter dran, aber um Bauteile zu sparen schalte ich den Ausgang auf den anderen Port um. Besser als mit einem AVR geht es mit einem ARM von Philips/NXP: Dieser besitzt eine 16bit SPI Schnittstelle die lückenlos Daten ausgibt. Zusätzlich gibt es noch ein FIFO. Durch die 16bit und das
Aber wie willst mit dem ADC vom AVR 666kS/s erreichen ?
-
Thread
Portabfrage
mögliche Verzweigung: sbic PINB,4 ;überspringe nächsten Befehl, wenn PINB.4 0 ist rjmp PORT_ist_1 PORT_ist_0: PORT_ist_1: Kannst auch den kompletten Port einlesen und dann entsprechend verzweigen.
indirekt jump) die beste Lösung sein. Z-Register mit der Grundadresse einer Sprungtabelle laden, Port einlesen, mit 2 multiplizieren und zum Z-Register addieren, dann ijmp ausführen. jump_tab: rjmp port_value_is_0 rjmp port_value_is_1 .... zu beachten ist dabei, dass für jeden Wert möglichen Z-Wert
-
Thread
µC-Prog funktioniert nicht richtig
ldi temp,0b11110011 ; 2 Eingang 6 Ausgänge out DDRD,temp ; Datenrichtungsregister für Port D an: in temp2,PIND ; PortD einlesen ldi temp3,4 ; Eingang nach temp laden cp temp2,temp3 ; beide gleich ? brne an ; nein! ldi temp,0b11000000 out PORTD,temp aus: in temp4,PIND ; PortD einlesen ldi temp5,8 ; Eingang nach temp laden cp temp4,temp5 ; beide gleich ? brne aus ; nein! ldi temp,0b00000000 out PORTD,temp ende: rjmp an [/avrasm]
-
Thread
AX81 - ZX81 im AVR
einem > Microcontroller angesteuert werden kann? Display: http://www.jcwolfram.de/projekte/avr/ax81b/images/ax81_cb2_glcd.png Gegenstück auf Controllerseite: http://www.jcwolfram.de/projekte/avr/chipbasic2/images/ports_de.png
●● pit ●. schrieb im Beitrag #4564693: > Display: > http://www.jcwolfram.de/projekte/avr/ax81b/images/ax81_cb2_glcd.png > > Gegenstück auf Controllerseite: > http://www.jcwolfram.de/projekte/avr/chipbasic2/images/ports_de.png Hallo Pit, ja, diese Stellen kannte ich auch schon.
-
Thread
"Geister"-Takte am LPC1114?
machst du genau eines: du trittst dem Compiler frontal ins Gesicht. Zunächst erst mal eines: Die Port-Hardware der Controller der ARM-Riege ist deutlich anders als die der AVR's. Zusätzlich gibt es noch erhebliche Unterschiede zwischen den verschiedenen ARM-Genrationen, Familien und Herstellern. Sehr
vereinheitlichten Adreßraum für alles haben - und der ist deutlich größer als der Adresßraum, in welchem sich beim AVR die Ports befinden. Deshalb ist es bei allen ARM's nötig, die betreffenden Adressen für das Erreichen diverser Port-Register irgendwann mal in CPU-Registern zu haben - in den OpCode passen sie regelmäßig
-
Thread
Gezieltes auslesen von Cmos Kameras ohne PC
ganz bloede Frage: Wenn du sowieso einen Blackfin verwenden willst, wozu brauchst du dann noch einen AVR? Alles was der AVR kann macht der Blackfin noch locker so nebenbei (nur einen internen AD-Wandler gibts nicht)... Wenn du ernsthaft noch einen AVR brauchst kannste etweder einfach ueber GPIOs (General purpos I/O, wie die Pin/Ports beim AVR) kommunizieren oder ueber eine der seriellen Schnittstellen: UART, I2C, SPI. Aber du klingst noch nicht so als waerst du mit dem Verstaendnis der ganzen Thematik und insb. dem Blackfin
-
Thread
Scheibenwischer Steuern.
abfrag: ; an Port B Werte (Taster) nach schalter einlesen in schalter, PINB cpi schalter, 5 ; ist Alternat PIND 5 gesetzt? breq alternance ; zu Alternence springen ;cpi schalter, 6 ; ist vitesse
nicht überein. Wo wird DDRA gesetzt? Sorry, ich habe etwas korriegiert, und einige vergessen. Die Port A wird um der schleifer ab zu Fragen. Nautilus schrieb im Beitrag #4496129: > Warum werden die Timer des AVR nicht genutzt? Um mein Eingäng abzufragen, ich werde sicherlich die Teimer benutzen
-
Thread
Assembler Grundlagen (einbinden) (ATxmega128A1 + AVR Studio 5)
ich folgendes herausfinden kann: - einbinden eines Assembler Unterprogramms in ein C-Programm in AVR-Studio 5 - Übergabe einer Variablen (ein Array) an dieses Unterprogramm - einlesen eines Pins in Assembler bei einem ATxmega - und schreiben dieses Wertes in diese globale Variable Wenn mir jemand
Das bereits erwähnte AVR GCC Inline Assembler Cookbook erklärt das. Das ist allerdings nicht anfängerfreundlich - es ist halt kein Thema für Anfänger. Es kann helfen, aus zwei Quellen gleichzeitig zu lernen. Im Roboternetz-Wiki
-
Thread
LED Touchpanel mit AVR???
Einfach mal ausprobieren, ob der AVR-AD Eingang dafür reicht? Wenn nicht, nen guten (Rauscharmen+Hochohmigen) OpAmp davor. /Ernst
also brauch ich nur noch 64 pins, na toll^^ da reichen sogar 2 AVR's aber das währen ja 10 nur für AVR's, ob sich das dann noch lohnt??? naja ich werds erstmal ringförmig und einreihig probieren, soll so werden wie das iPod rad blos wit LED's. welche fabre is am besten
-
Thread
Einfache CPU, einfacher Rechner, nur zum Lernen, Erfahrung?
#7753778: > Die > Haupt-sache es ist einfach. Wenn es einfach sein soll, nimm einen 8051 oder AVR. Für beides gibt es Simulatoren und Debugger. Mit einem Simulator kannst Du Assembler oder C-Programme auf dem PC laufen lassen und Die jedes Register und Ports anschauen. Mit einem Debugger kannst
Informationen findest Du auf Seite 34: [code] PAD .EQU $1A80 ; DATA REGISTER OF PORT A PADD .EQU $1A81 ; DATA DIRECTION REGISTER OF PORT A PBD .EQU $1A82 ; DATA REGISTER OF PORT B PBDD .EQU $1A83 ; DATA DIRECTION REGISTER OF PORT B [/code]
-
Thread
Interrupts im Avr-Studio simulieren
mich eh mit Interrupts beschäftigen - daher bleibt die Frage: Ext. Int. sind nur über Bit 2/3 vom PortD möglich und nicht auf andere Ports anwendbar??? Desweiteren soll ich mich auch noch in Programmierung von Timer, Sleep-Modes, Watchdogs, Entprellung, I2C einlesen... Also wenn jemand gute Einsteigerlektüre
Frank schrieb im Beitrag #1791482: > Ext. Int. sind nur über Bit 2/3 vom PortD möglich und > nicht auf andere Ports anwendbar??? jap
-
Thread
Temperaturmessung mit TSIC 206
Funktion (und der dazugehörigen Funktionen): [c] #include "tsic.h" void TSIC_INIT(void) { TSIC_PORT_DDR_Power |= TSCI_POWER_PIN; // Ausgang TSIC_PORT_DDR &= ~TSIC_SIGNAL_PIN; // Eingang } uint8_t readSens(uint16_t *temp_value){ uint16_t strobelength = 0; uint16_t strobetemp =
eher so: readSens(&temp_value1); // 1. Byte einlesen readSens(&temp_value2); // 2. Byte einlesen if (!checkParity(&temp_value1)) return 0; if (!checkParity(&temp_value2)) return 0; Du solltest versuchen, das Programm zu verstehen. Btw: