-
Thread
Programm funktioniert erst nach 1-2 maligem Reset
Jetzt wird es noch geiler. Hab 2 x 100nF dazu gelötet. Einmal für die Versorgung des µC's und ein mal für das RFM12. Also zwischen +5V und GND. Und jetzt kommts, danach funktioniert es überhaupt nicht mehr. Egal wie oft ich es aus
Ist es ein RFM12 für 5V oder ein RFM12B für 3.3V? Und poste doch mal ein Bild der Platine (Vorder- und Rückseite).
-
Thread
I2S am DAC mit AVR unt Interrupt.
sbis PinD, LRCK rjmp _GI2S3 sbis PinD, LRCK rjmp _GI2S3 sbis PinD, LRCK rjmp _GI2S3 sbis PinD, LRCK rjmp _GI2S3 _GI2S3: out PortD, Temp clr Temp bst
PinD, LRCK rjmp _GI2S3 sbis PinD, LRCK rjmp _GI2S3 sbis PinD, LRCK rjmp _GI2S3 sbis PinD, LRCK rjmp _GI2S3 sbis PinD, LRCK rjmp _GI2S3 sbis PinD
-
Thread
Kennt jemand diesen Audio/CAN/BT Chip? CP3CN37VVAWQ
XD5 (43) vom CP3CN37 SO (2) --> MDIDO (94) /WP (3) über Kondensator auf Vcc gezogen SI (5) --> MDODI (93) SCK (6) --> MSK (95) /HOLD (7) über Kondensator auf Vcc gezogen [/code] Am SPI-Port
schrieb im Beitrag #5881987: > Eine weitere Idee: Ich sehe dass im IBL an diversen Stellen Bit 5 vom > Port-E (PE5 an Pin 3 der MCU) kurz auf "0" und dann wieder auf "1" > gesetzt wird. Ob das eventuell einen externen Supervisor-Chip triggert? Der geht an IC (13) Pin 6, der mit "C57" (und
-
Thread
Platinenbau-Projekt ATmega2560
Zwischenfrage, und zwar mit dem ISP-Anschluss. Laut meines mega2560DS liegt MISO/MOSI und SCK am Port B von Pin 1 bis 3. Wenn ich jetzt nur diese Pins für die Programmierung mittels ISP rauslege, habe ich ja die weiteren 5 Pins ohne Funktion. Angenommen ich benutze alle 8 Pins für eine Output-Beschaltung
Beitrag #3913585: > Für den Quarz auch was kleineres, http://www.ebay.de/itm/Quarz-Crystal-16MHz-SMD-2-5-x-3-2-x-0-8mm-30ppm-40-to-85-C-12pF-Qantek-/161367943788?pt=Bauteile&hash=item2592476a6c
-
Thread
PORTS schalten nicht
das ungewöhnlihc, das am Port nur 3,5 ankommen...
Wenns an JTAG läge, dürften doch eigentlich nur die Pins 1-4, oder welche es auch immer genau sind weiß ich nich ausm Kopf, am PortC ganicht reagieren. Die anderen sollten ganz einfach auf 1 bzw 5V gehen. Die 3,5V klingen ein wenig nach nem Pin der schnell
-
Thread
Ports eines GPIO expanders verbinden
rudimentäres Bild (bitte um Verzeihung...) wie ich mir die Beschaltung vorgestellt hätte. Wenn ich pin 4 auf High schalte sollte ich also auf pin 3 und 5 ein High bekommen. Auf den anderen Low. Aber wie Frank geschrieben hat, würden pin 1, 2 und 6 eigentlich undefiniert sein. Also müsste ich entweder
rudimentäres Bild (bitte um Verzeihung...) > wie ich mir die Beschaltung vorgestellt hätte. Wenn ich pin 4 auf High > schalte sollte ich also auf pin 3 und 5 ein High bekommen. Auf den > anderen Low. > Aber wie Frank geschrieben hat, würden pin 1, 2 und 6 eigentlich > undefiniert sein. Nicht
-
Thread
5*7 DOT Matrix ansteuerung
anzeigen kann. So sind auch deine LED module intern aufgebaut, du must also rausfinden, welche pins für die Zeilen und welche für die Spalten zuständig sind. Z.B. TA20-11HWA (5x7 LED Modul von Kingbright) Obere Pinreihe: R3 R1 C4 C3 R4 C1 R2 Untere Pinreihe: R6 C5 R4 C3 C2 R7 R5 (Rx
, ans zweite modul die restlichen 3 vom ersten und 2 vom zweiten, das dritte modul dann ausgänge 3-7 vom zweiten. /Ernst
-
Thread
AVR Atmega ports register
Andererseits ist es einfacher und schneller einen Port abzufragen/auszugeben als jedes Bit einzeln. Für die Shift Register (74...) könnte ein Pin verwendet werden der ein Hardware Shift Register enthält (Spi,Uart,I2c) Das macht die Ein/Ausgabe weniger aufwendig
interessant. Wusste ich gar nicht, dass die currents so genau spez. sind. 1)The sum of all IOH, for ports J0-J7, G2, A0-A7 should not exceed 200mA 2)The sum of all IOH, for ports C0-C7, G0-G1, D0-D7, L0-L7 should not exceed 200mA 3)The sum of all IOH, for ports G3-G4, B0-B7, H0-H7 should not exceed 200mA
-
Thread
Display (HD4478099) zeigt nur Kästchen
PC6 PC5 PC4 PC3 PC2 PC1 PC0 Port C" Dann versteh ich nämlich nicht ganz, wie du von 30h (was ja binär 110000) sein müsste auf 0bxxx0011 kommst... oder beziehst du dich da jetzt auf meine Belegung? (letzteres
Also gut, dann nochmal für Idoten: Wenn ich deine Pin-Belgung verwende: "Folgender Vorschlag: 0b 0 0 0 0 0 0 0 0 Bits binär E RS RW DB7 DB6 DB5 DB4 Display PC6 PC5 PC4 PC3 PC2 PC1 PC0 Port
-
Thread
µC wird heiß
ersetzen, oder einen Fädeldraht drüber legen. Und den 100k bei VDDA rausnehmen und VDDA direkt an einen 3V3 Pin mit Fädeldraht anlöten. Es kann natürlich sein, dass bestimmte Teile am µC schon im Kurzschluss abgebrannt sind und darum der Controller heiß wird. 52°C ist für diesen Controller jedenfalls
Ich kann im Bild aber eindeutig zwischen -3V3 und +3V3 unterscheiden. Kann es sein dass da etwas beim Layout nicht passt und der VDDA Pin in der Luft hängt? Mess mal die Spannung oder hängen den Pin mit Fädeldraht auf einen 3V3 Pin. Den 100k
-
Thread
Bedeutung des Zeichens "|" in C
bit 0 0x01 1 0x02 2 0x04 3 0x08 4 0x10 5 0x20 6 0x40 7 0x80 besser ist es eh bei PORTs/Registern (1<<Pxx) zu schreiben ...
Danke für den Link @Vlad Tepesch könntest du noch erleutern, was du genau gemacht hast? [c]PORTB |= (1<<PIN4);[/c] Was machen diese "<<" ? Wo ist der unterschied zwischen PIN4 PB4 DDB4 ? [c]#define LED_PORT PORTB[/c] Ich vermute dass es sich hierbei einfach nur um eine delaration
-
Thread
MMC/SD-Karte mit FAT16 an AVR
DATAIN, PIN2 PORTB7 ------- CLOCK, PIN5 VTG ---------- VCC, PIN4 (gemessen 3.3V) GND ---------- GND, PIN3 & PIN6 Software anbei. (Mit den von Jochaim empfohlenen Aenderungen)
Pete K. schrieb: > an PB3 liegen 4,97V an Ok. > an PB4,5,7 nur 0,63V Das ist schlecht. > an PB6 nur 4,65V Na gut, da treibt der 5V-Port-Pin über den Pullup nach 3.3V. Sollte bei 165k gefühlsmäßig aber eigentlich
-
Thread
TEKWAY DST1xx2B Oszilloskop
Anzahl DIVs nicht herum, z.B.: kleinste Main-Timebase = 200 ns Menü Ein = 16 DIVs Window-Timebase 2 ns bis 40 ns gelesen werden 640 Samples 200 ns * 16 DIV = 3,2 us 3,2 us / 640 Samples = 5 ns 5 ns = 200 MHz Menü aus 200 ns * 19,2 DIV = 3,84 us 3,84 us / 768 Samples = 5 ns 5 ns = 200 MHz
__130814.3_.up --cipher-algo CAST5 --symmetric dst1kb_2.06.3__130814.3_.tar.gz [/code]
-
Thread
BMP280 + AHT10 auf dem gleichen I2C Bus
daher nicht. > Da habe ich andere Erfahrung, aber es mag verschiedene geben. > Du hast doch die I2C Pegelwandler. Da könntest du dich notfalls mit dem > LA auf die 5V-Seite setzen. Nein - weil alles auf 3,3V Pegeln arbeitet. Dennoch Danke für Eure Gedanken und Unterstützung. Oftmals ist es
können beliebige 2 Port-Pins verwendet werden, um einen AHT10 auszulesen.
-
Thread
I2C mit Logik-Schaltung aktivieren
Zahl 2 anliegt, Slave_2: Adr. 5 aktiviert den I2C nur, wenn an den beiden Pins die Zahl 3 anliegt, etc. Ist das überhaupt möglich, eine Aktivierung des I2C-Busses über zwei Interrupts an den Eingängen des
void sda_low(void) { I2C_SDA_PORT &= ~i2c_mask; I2C_SDA_DDR |= i2c_mask; } void sda_high(void) { I2C_SDA_DDR &= ~i2c_mask; I2C_SDA_PORT |= i2c_mask; } bool sda_in(void) { return I2C_SDA_PIN & i2c_mask
-
Thread
AVR32UC3A Einstieg
paar Makros: [c] #define getPin(pin) ((AVR32_GPIO.port[pin >> 5].pvr & (1 << (pin & 0x1F))) != 0) #define setPin(pin) {AVR32_GPIO.port[pin >> 5].ovrs = (1 << (pin & 0x1F));} #define clearPin(pin) {AVR32_GPIO.port[pin >> 5].ovrc = (1 << (pin & 0x1F));} #define togglePin(pin) {AVR32_GPIO.port[pin >> 5].ovrt = (1 << (pin & 0x1F));} [/c] Da die Pins in der Regel konstant sind, hat der Compiler da auch noch ganz schön
-
Thread
mcp23017 und udn2981 für 2x 8 channel solid state relay
betreibe ich trotzdem mit 5V, was hoffentlich kein Problem > sein sollte, denn der ist ja getrennt, wenn ich das richtig verstehe. Wenn der I2C-Bus 3,3V benutzt, wird er vermutlich an einem IC mit 5V Versorgung nicht zuverlässig
Jens M. schrieb im Beitrag #5778616: > Wenn der I2C-Bus 3,3V benutzt, wird er vermutlich an einem IC mit 5V > Versorgung nicht zuverlässig funktionieren. Manche Chips erkennen 3,3V > noch als high, manche nicht, manche zu langsam (in dem Fall kannst
-
Thread
Billiges Cortex-M4-Board STM32F4DISCOVERY jetzt erhältlich
Online Link: http://de.rs-online.com/web/p/products/7458434/?searchTerm=745-8434&relevancy-data=636F3D3126696E3D4931384E525353746F636B4E756D6265724D504E266C753D656E266D6D3D6D61746368616C6C26706D3D5E5C647B337D5B5C732D2F255C2E5D5C647B332C347D2426706F3D313426736E3D592673743D52535F53544F434B5F4E554D424552267573743D3734352D383433342677633D4E4F4E4526
noch 12,19 € http://de.rs-online.com/web/p/products/7458434/?searchTerm=745-8434&relevancy-data=636F3D3126696E3D4931384E525353746F636B4E756D6265724D504E266C753D656E266D6D3D6D61746368616C6C26706D3D5E5C647B337D5B5C732D2F255C2E5D5C647B332C347D2426706F3D313426736E3D592673743D52535F53544F434B5F4E554D424552267573743D3734352D383433342677633D4E4F4E4526
-
Thread
GPIO des Mikrokontroller gibt keine 3,3 Volt aus
natürlich nicht zu. Heinz Erhardt) Aber es bleibt Physik, wenn genug Strom fliesst bleibt die Spannung 3,3V im µC am Innenwiderstand. So ein µC ist ja kein AKW oder MW Kohlekraftwerk. Auch kann kurzzeitige Überlastung den Port dauerhaft schädigen, aber da ich deinen µC und dein Programm nicht kenne
ein anderes fackelt dir ab, weil nur halb durchgesteuert. Nimm einen Logic Level MOSFET, der bei 3.3V (besser: 2.5V) spezifiziert ist. Freilaufdiode wurde ja schon genannt.
-
Thread
Sharp GP2D02 Sensor auslesen mit CodeVisionAVR und einem AT90S8515
. Hier ist mal das Datenblatt zum GP2D02: http://pdf1.alldatasheet.com/datasheet-pdf/view/42836/SHARP/GP2D02.html Im Anhang habe ich mal ein Bild von meinem Controller. Zu den Ports: Der Sensor ist an Port C Die Anzeige ist an Port
gibt. Hier ist mal das Datenblatt zum GP2D02: http://pdf1.alldatasheet.com/datasheet-pdf/view/42836/SHARP/GP2D02.html Hier habe ich mal ein Bild von meinem Controller. https://imgur.com/a/7TQJsdi Zu den Ports: Der Sensor ist an Port C
-
Thread
Funktion zum Senden auf I2C nur einmal aufrufbar
sollte. Beim 1. Aufruf ändert sich SDA "Schön" innerhalb des SCL-High. Wie kann das sein? [c] I2C_Start(); if(I2C_SendByte(0xD1)) { I2C_SendByte(0xff); I2C_ReadByte(); } I2C_Stop(); int I2C_SendByte(unsigned short int Byte) { int Vergl=0x80; PORTE.DIRSET=0x03; //I2C Auf
Erfinders von I2C. Die I2C-Pins sind Open Collektor. Da gibt es nur nur aktiv L. Das H wir durch die Pull-Up-Widerstände erzeugt. Praktisch mach man das, indem man den Port auf L setzt und nur zwischen Ein- und Ausgang
-
Thread
ARM-Cortex als Anfänger?
Hol dir einen Arduino Teensy 3.5, oder wenn du etwas weniger ausgeben möchtest, einen 3.2.
trotz Kalibrierung auf die USB-Frames), ohne dass man gleich 2 von 6 Port-Pins verloren hat. Dann noch Reset und noch einer ist weg. 3 braucht man für ISP, dann kann man gleich die Port-Pins wiederverwenden anfangen, bevor man überhaupt irgendwas gemacht hat.
-
Thread
Atmega128 - Programm wird geladen, aber LED blinkt nicht?
mich. avrdude -c avrispmkII -p --he avrdude: AVR Part "--he" not found. Valid parts are: uc3a0512 = AT32UC3A0512 c128 = AT90CAN128 c32 = AT90CAN32 c64 = AT90CAN64 pwm2 = AT90PWM2
zwei Plus Pole. 2: 4 mV 3: 4.15 V 4: 5.09 V
-
Thread
Zwei uC liefern bei gleichem Code versch. AD-Werte
Stefan ⛄ F. schrieb im Beitrag #7171806: > Vielleicht hat der I/O Pin einen Schlag weg. So wird es wohl auch sein. Ich habe jetzt noch einen dritten uC eingesetzt und der liefert das korrekte Ergebnis wie uC1. Der uC2 hat am Eingang einen Defekt. Das war bereits beim
(und alle anderen Pins) auf 0V Der GND der restlichen Schaltung hängt an den -5V der Spannungsquelle Jetzt passiert folgendes, Schritt 2: Ein beliebiger Datenpin wird mit -5V (über einen Schalter oder sonst wie)
-
Thread
[Hilfe] ADC verfälscht LM385-2.5 schuld
Hi, ich bin mit meinem Latein am Ende. Habe einen Atmega16 mit externer 2.5V AREF. Der Schaltplan ist erprobt, die Programmierung auch. Doch die Ausgabe (Temperatur) am LCD ist minimal zu hoch (ca 20°C bei Raumtemperatur 16°C) und springt auch ungewöhnlich oft. Im Wandel
D a v i d K. schrieb im Beitrag #4381067: > Habe einen Atmega16 mit externer 2.5V AREF. Du hast die Spannung nachgemessen (am ARef-Pin) und dein Spannungsmessgerät zeigt dir 2.50V an oder 2.56V oder einen ganz anderen Wert? Ich hatte schon Referenzspannungen von 2.701V oder
-
Thread
Kosmos CP1 Emulator mit ATmega
Zähle einfach mal die verwendeten Pins! Ich habe: [code] 2 * 8 I/0 für Port 1 und 2 = 16 I/O Pins 1 * 2 I/O für I2C = 2 I/0 Pins 1 * 2 I/0 für UART = 2 I/0 Pins 1 * 2 I/O für TM1637 = 2 I/0 Pins
flashen). Die beiden Pins die den TM1637 steuern (weil diese auch Hardware I2C beinhalten) mit 2 weniger wichtigen Pins aus Port1 / Port2 tauschen. Einen Versuch machen, wie es sich auswirkt, wenn die Shift-Taste über den ADC
-
Thread
4 Zeiliges Display mit library für 2 zeiliges Display ansteuern
////////////////////////////////////////////////// // As defined in the following structure the pin connection is as follows: // PIC LCD // D0 enable // D1 rs // D2 rw // D3 not connected // D4 D4 // D5 D5 // D6 D6 // D7 D7 // // LCD pins D0
der 3. Zeile fortgesetzt. Was mir noch aufgefallen ist: [c]#define lcd_type 2 // 0=5x7, 1=5x10, 2=2 lines[/c] und das kann bei 4 zeilen dann wohl nicht mehr stimmen. Verwendet wird lcd_type
-
Thread
2 PINS an dem PORTC besitzen ein dauerhaftes High Signal
32 16PU. Jetzt wollte ich Ihn programmieren aber das Problem ist, dass der Mikrocontroller an den PINS PC2(TCK)und PC3(TMS) trotz PORTC=0x00; ein High Signal liefert. Weis zufällig jemand an was dies liegen könnte ???
Beim ATmega32 ist die JTAG-Schnittstelle standardmäßig aktiviert (ja, per Fuse) und belegt dann die Pins PC2 und PC3. Du mußt sie deaktivieren, dann kannst du die Pins auch aus deinem Programm heraus verwenden. Details findest du im Artikel [[AVR_Fuses]]
-
Thread
Elegoo Uno R3 2,8" TFT Touchscreen mit SD Karten Slot
https://www.amazon.de/dp/B01EUVJYME/ref=sspa_dk_detail_0?psc=1 Bei den LCD mit dem UNO kann ich I2C/ 2Ports ,TxD /RxD 2Ports frei benutzen ?? Auch das?
Al. K. schrieb im Beitrag #5259486: > Bei den LCD mit dem UNO kann ich I2C/ 2Ports ,TxD /RxD 2Ports > frei benutzen ?? Es ist auch nicht schlecht , wenn man einige Fragen selbst beantworten kann. Musste jetzt feststellen das I2C beim UNO A4 +A5 ist. Wenn ich die SD
-
Thread
yC Versorgungsproblem mit 7805
kontrolliert? Das Problem ist ja, sobald ich die Versorgungsspannung an Board 1 anlege und am Vcc Pin des µC 5V anliegen, das Programm am µC gelöscht ist (warum auch immer). Heißt, ich nehem den µC raus, gebe ihn in Board 2 rein, auf welchen ich den µC programmiere, versuche dann dort zu starten -
dem Port-Pin einen Transistor schalten, der sich dann > > um Dein Relais kümmert Dafür hab ich doch meinen Relais Treiber Bausten TLE8104. Der verträgt bis 60V/3A alles.
-
Thread
ATMega 16 Thermometer Display zeigt nichts an
6 #define LCD_ENABLE_PIN 7 #define SET_HOUR 3 #define SET_MINUTE 4 int main(void) { unsigned char i; LCD_init(); LCD_goto(1,2); LCD_print("Temperature"); LCD_CNTRL_PORT = (1<<SET_HOUR
halbes Milliampere durch. Das hieße wiederum, wenn dein µC 0.25mA zieht, fallen an deinem sogenannten PullUp schon 2,5V ab, 5V -2,5V = 2,5V, nun "sieht" dein µC nur noch 2,5V als Betriebsspannung. P.S. Dein Mitschüler hat sich n paar sanfte Schläge aufn
-
Thread
ATMega 16 gibt immer 5 V an bestimmten Pins
,r16 loop:rjmp loop und Pin 2 gibt immer 5 V aus egal was ich mache.
Um genau zu sein besteht das Problem Haupsächlich an Port C und an Portd D nur an PD2.
-
Thread
I2C Bus - wesentlich ob Open Drain oder nicht?
Bei I2C ist der DAT-Pin und der CLK-Pin immer Open-Drain. Geht nicht anders. Und es braucht immer Pull-Ups. Die anderen I2C Anschlüsse am Port-Pin werden bei Konfiguration als I2C automatisch Open-Drain
SPI-Bus sind also 4 Leitungen nötig, für 2 Slaves dann 5 usw. Allgemein: Anzahl der benötigten Pins = 3 + Anzahl Slaves.
-
Thread
PIC Pin kaputt?
Beitrag #1760693: > Hmm, der PD.0 von meinem fabrineuen dsPIC zappelt beim Umschalten vom > ganzen PortD auf ca. 4 Volt mit einer Amplitude von 3.8-4.2 Volt (0,4 > Volt) herum. Alle anderen tun was sie sollen. Das nennt man galvanische Kopplung. (bei den Frequenzen spielt die Induktivität des Masse-Pins
Unterschied ist hier vielleicht nicht relevant, wird es aber spätestens dann, wenn man mit bidirektionalen Pins (z.B. 1-Wire) am gleichen Port zu tun hat, daher wird empfohlen, für Ausgabepins stets LATx zu verwenden. Zur Zeile 42: http://www.mikrocontroller.net/articles/Netiquette#.C3.84u.C3.9Fere_Form
-
Thread
PORT Dauerhaft setzen
"||" wäre nur eine Logische Verknüpfung 01000100 Wenn man jetzt annähme dass die Variable ein Port währe dann hättest du jetzt nur den einen Pin gesetzt. In C schreibt man dass dann so: PORTX = PORTX | (1<<2); oder PORTX |= (1<<2); Willst du jetzt einen Pin wieder zurücksetzten dann machst
||" wäre nur eine Logische Verknüpfung 01000100 Wenn man jetzt annähme dass die Variable ein Port währe dann hättest du jetzt nur den einen Pin gesetzt. In C: PORTX = PORTX | (1<<2); kürzer: PORTX |= (1<<2); Willst du nun einen Pin wieder zurücksetzten dann machst du das so: Du nimmst
-
Thread
GPS Standpunkt einmal pro Tag bestimmen
, welches in den PC kommt, da messe ich an Pin 2 oder 3 nix, habe auch die anderen Pins gemessen.
the socket. Use the 2-wire cable to connect the UART pins to the RS-232. The connection is shown in Figure 3-9. Du brauchst also noch eine Brücke zwischen PD0/PD1 und diesem "RS232 SPARE". Siehe STK Handbuch Kapitel 3.5
-
Thread
Maskieren modern?
mal so oder ähnlich gelernt (lesbarkeit..) : > > test = test | 40 ; // test = test ODER 2^5 ODER 2^3 Und dazu schreibst Du dann einen Kommentar? Was macht denn [c] test &= 39653678; [/c] Ok, Zeit abgelaufen ...
Reiner D. schrieb im Beitrag #7379512: > Warum schreiben die Meisten in AVR-C : > testbyte = PINB & (1 << PINB3) Bisher hatte ich mir immer eingebildet, das käme der Portabilität zugute. Bei Pin3 von PortB ists wohl nicht so notwendig, aber bei UART0CONTROL = UART0CONTROL
-
Thread
Anfängercode, alle 3 Minuten ein anderer Pin auf High
100 $framesize = 100 'Stunde1 an PA0 Stunde1 Alias Porta.0 Config Stunde1 = Output 'Stunde2 an PA1 Stunde2 Alias Porta.1 Config Stunde2 = Output 'Stunde3 an PA2 Stunde3 Alias Porta.2 Config Stunde3 = Output 'Stunde4 an PA3 Stunde4 Alias Porta.3 Config Stunde4 = Output 'Stunde5
100 $framesize = 100 'Relais1 an PB0 Relais1 Alias Portb.0 Config Relais1 = Output 'Relais2 an PB1 Relais2 Alias Portb.1 Config Relais2 = Output 'Relais3 an PB2 Relais3 Alias Portb.2 Config Relais3 = Output 'Relais4 an PB3 Relais4 Alias Portb.3 Config Relais4 = Output 'Relais5
-
Thread
Tastenmatrix 3x4 mittels Interrupt abfragen?
; if( ~KEY_PIN & 1<<2 ) col = 2; if( ~KEY_PIN & 1<<3 ) col = 1; row = col; if( col ){ // if column found, check row KEY_PORT |= 0x7F; // all pullups
1 } if( ~KEY_PIN & 1<<1 ) { col = 3; PORTD |= (1<<PD5); //Taste 4 } if( ~KEY_PIN & 1<<2 ) { col = 2; PORTD |= (1<<PD6); //Taste 7 } if( ~KEY_PIN & 1<<3 ) { col = 1
-
Thread
AVR-GCC Tutorial Taster entprellen
noch PD6, PD5 und PD3. Dann konfigurierst du das eben nach deinen Bedürfnissen. Deine Tasten liegen am Port D. Also [c] #define KEY_DDR DDRD // Defi an welchem Port die Tasten sitzen #define KEY_PORT
include <stdint.h> #define KEY_DDR DDRD // Datenrichtungsregister #define KEY_PORT PORTD // Datenregister #define KEY_PIN PIND // PIN D #define KEY_1 4 // #define KEY_2 3 // #define KEY_3 5
-
Thread
uC - kennst du einen, kennst du alle
man Hochtemperatur bis 300 GradC HT83C51, das alles gibt es bei anderen uC-Familien nicht, billig für 5ct PMS150C, ausser man braucht einen uC der ab 0.25V läuft: EtaCore M3, der stammt nicht aus der 8051-Familie sondern ARM-Familie
oft sehr lang und enthalten wirklich kritische Bugs, z.B. beim LPC435X: "Specifically, writes to I2C0, MCPWM, and I2S can affect C_CAN1. Writes to I2C1, DAC, ADC0, and ADC1 can affect C_CAN0." Und man erlebt auch Überraschungen, die man von einfacheren MCs nicht gewohnt ist. Ein Kollege wollte das
-
Thread
Port-Expander mit Logikbausteinen
2-3 Pins braucht.
sich das auch leicht manuell aufbauen: Alle Schieberegister bekommen den gleichen Takt und man liest 2 oder 3 8-Bit-Ports ein. Der Rest ist Datendrehung. Sollte den µC nicht sonderlich belasten.
-
Thread
Nokia 3310 Lcd Ansteuerung in AVR-GCC
Stunden,... Auf einm Mega128 läuft die Library hervorragend, auf dem Mega8 nach umdefinieren der Pins, nichts,... Ich verwende folgende Pins für den Mega8: #define GLCD_SER_PORT PORTB #define GLCD_SER_DDR DDRB #define GLCD_SCLK PINB5 #define GLCD_MOSI PINB3 #define GLCD_SS PINB2
finde mach ich mich mal ans Eagle und male was. mein Portmapping ist folgendermasen: // Lcd Port Settings #define GLCD_SER_PORT PORTB #define GLCD_SER_DDR DDRB #define GLCD_SCLK PINB5 #define GLCD_MOSI PINB3 #define GLCD_SS PINB2 #define GLCD_CTRL_PORT PORTB #define
-
Thread
AVR-Tutorial: Equipment wird nicht erkannt
wenn ich von Arbeit komme. Bild vom ISP ist im Anhang. Also: Anschluss nach Schema siehe Bild2 ISP FUNK Farbe Controller -------------------------------- Pin 1 - MOSI - Gelb - PIN 17 Pin 2 - VCC - FREI Pin 3 - GND - Braun - Frei Pin 4 - GND - FREI Pin 5 - RST - Blau
aktualisierte Beschaltung. ISP FUNK Farbe Controller -------------------------------- Pin 1 - MOSI - Gelb - PIN 17 Pin 2 - VCC - FREI Pin 3 - GND - Braun - Frei Pin 4 - GND - Schwarz - GND Pin 5 - RST - Blau - PIN 1 Pin 6 - GND - Schwarz - GND Pin 7 - SCK - Schwarz -
-
Thread
Programmierung in C für MSP430/Output und Input
Code: [c] #include <msp430x20x3.h> #define PIN0 0x01 //Pin2 #define PIN1 0x02 //Pin3 #define PIN2 0x04 //Pin4 #define PIN3 0x08 //Pin5 #define PIN4 0x10 //Pin6 #define PIN5 0x20 //Pin7
Sa We schrieb im Beitrag #2929405: [c] #include <msp430x20x3.h> #define PIN0 0x01 //Pin2 #define PIN1 0x02 //Pin3 #define PIN2 0x04 //Pin4 #define PIN3 0x08 //Pin5 #define PIN4 0x10 //Pin6 #define PIN5 0x20
-
Thread
Benötige 5-6x XOR Input
habe nur die Werte die zur "1" am Ausgang führen eingetragen, alle anderen Werte sind "0". F E D C B A X 0 0 0 0 0 1 1 X1 = /F & /E & /D & /C & /B & A 0 0 0 0 1 0 1 X2 = /F & /E & /D & /C & B & /A 0 0 0 1 0 0 1 X3 = 0 0 1 0 0 0 1 X4 = 0 1 0 0 0 0 1 X5 = 1 0 0 0 0 0
wird invertiert auf den Eingang eines UND-Gatter gelegt. Die ganze Gleichung lautet: X = X1 | X2 | X3 | X4 | X5 | X6 / Invertierung, & UND-Verknüpfung, | ODER-Verknüpfung Gatter: 6 Inverter mit je 1 Eingang 6 UND mit je 6 Eingängen 1 ODER mit 6 Eingängen Die Lösung ist relativ Aufwändig
-
Thread
seltsames verhalten bei 5 Volt bei 3.3 funktioniert attiny45
'Schleifenende [/code] Blinkt alles normal wenn ich 3.3 V anlege... wenn ich den avr aber mit 5 Volt betreibe habe ich in den Momenten in den die LED an ist ein hochfrequentes flackern der led - es scheint auch, als würde der Code viel schneller ablaufen
Technischen Hintergrund erklären? Was passiert da? Die LED funktioniert als Kurzschluss auf GND. Der µC versucht, den Ausgangs-Pin auf High zu halten während er über die LED auf GND gezogen wird. Dabei fließt ohne Widerstand ein sehr hoher Strom. Ein Vorwiderstand begrenzt den Stromfluss, I = U/R. Da er
-
Thread
Operand 2 Out Of Range
loop: sbis PortC, 0b00000001 rjmp Timer1 sbis PortC, 0b00000010 rjmp Timer2 sbis PortC, 0b00000100 rjmp Timer3 sbis PortC, 0b00001000 rjmp Timer4 sbis PortC, 0b00010000 rjmp Timer5 rjmp loop ; ;::::::::::::::Timer::::::::::::: ; Timer1: sbis PortC, 0b00100000 rjmp Timer1A rjmp Timer1 Timer2: sbis PortC, 0b00100000 rjmp Timer2A rjmp Timer2 Timer3: sbis PortC, 0b00100000 rjmp Timer3A rjmp Timer3 Timer4: sbis
-
Thread
Ports defekt???
Der Oszillator schwingt...zumindest mess ich ca 2,5V an dessen Ausgang. Der Block-C is relativ weit vom Controller weg. Muss ich mal umlöten, und den Kondensator am Reset werd ich auch mal austauschen... danke für die Antworten, ich meld mich wieder
Hi! @Teslazwerg: Das Programm scheint korrekt zu sein. Hast Du verschiedene Pins mit der LED durchprobiert? Bei manchen AVRs haben einige Port-Pins spezielle Funktionen wie JTAG und sowas, ich weiss nicht, wie das beim 8515 aussieht... Sonst schalte die Ports doch mal alle auf