-
Thread
2x16 LCD in C initialisieren
bekomme nicht raus wieso nicht. Ich hab die Leitungen vom display bis µC durchgemessen, alles korrekt, ich hab den ATmega163 im Makefile eingetragen und im lcd.h die Displayzeilenzahl auf 2 gesetzt. Ich benutze die selben Pins und den gleichen Port wie da beschrieben. Nur
oder anders formuliert: ich hab die Hardware entsprechend der Software angeschlossen: 1- GND 2- VCC 3- Kontrastpoti 4- RS - Port C4 5- Rw - Port C5 6- E - Port C6 7- D0 - GND 8- D1 - GND 9- D2 - GND 10-D3 - GND 11-D4 - Port C0 12-D5 - Port C1 13-D6 - Port C2 14-D7 - Port C3
-
Thread
Port wechseln für LCD-Display
PORTC notwendig ist, ist mir schon klar. Ich hatte angenommen, wenn ich als erstes PORTD und DDRD auf C umstellen, zus. zu PD2 - 4 auf PC2 - 4 (hatte mich vertan, ist PD2 - 4, nicht 3 - 5), dann ist das i.O. Offenbar aber nicht. Bitte mal den für Pete geposteten Code ansehen. @ Pete K. hier mal der
Die Routinen scheinen OK. Hier für EN an PORTC PC3, RS an PORTC PC2 und Daten 4-7 an PORTC PC 4-7. wenn die verdrahtung stimmt sollte es gehn. (JTAG ist ja aus) [c] // LCD DB4-DB7 <--> PORTC Bit PC4-PC7 #define LCD_PORT PORTC #define
-
Thread
32 Relais am Raspi um 5 Volt bei 3 Ampere zu schalten
. /Nacheinander/ schon, aber nicht /gleichzeitig/. > 32 Relais am Raspi um 5 Volt bei 3 Ampere zu schalten Warum schaltest du die 5V/3A nicht einfach mit ein paar Mosfets? (*) https://datasheet.lcsc.com/szlcsc/Ningbo-Keke-New-Era-Appliance-HK3FF-DC24V-SHG_C98127.pdf
keine 2.3A treiben, wenn alle Relais an sein sollen)
-
Thread
PORT-BIT Verwendng mit define
[c] #include "sbit.h" #define IN_A PIN_D2 #define OUT_A PORT_D5 #define OUT_A_oe DDR_D5 int main(void) { OUT_A_oe = 1; while(1) { if(IN_A) OUT_A =
so: [c] #define SBIT2(port,pin) ((*(volatile struct bits*)&(port)).b##pin) #define SBIT(port,pin) SBIT2(port,pin) [/c] dann funktionierts. Macro Magic :-)
-
Thread
Zeigt her Eure Kunstwerke! Gesperrt Bilder
Im Anhang eine uC Platine mit 96-Pin DIN Steckerleiste. Auf der Platine sind ein PIC18F8722, LM4132-2.5V, 1Mb EEPROM, TMP101, DS13307 RTC, 2x 12-bit DACs, 2x RS232 und 1x RS485, 8 LEDs(TPIC2810) und ein I2C(PCA9554) LCD
So dann geh ich auch mal unter die Poser :-) 1) WL-CSP25-0.5er pitch, 2x QFN mit 36 Pin & 0.5er pitch, 125 Orange 0402er LEDs, 3x RGB Sideleds, Hirose Standard Connector, 4 Layer, 0.6mm Printstärke, keine gepluggten Vias 2) 2x Lautsprecher, eingänge, Ausgänge
-
Thread
Arduino Custom Firmware für Fitness Armband mit NRF52
Hier scheint das Pin Mapping für die F18 zu sein: https://github.com/espruino/Espruino/commit/d334d0a92ab9c10a76949b846f2def7977f6b4c1
uD831 ist ein 8 bit I2C GPIO PortExpander - aehnlich NXP (a-la Phillips, I2C 'Erfinder') PCA6408A (oder modernere Variante A9###) - https://www.nxp.com/docs/en/data-sheet/PCA6408A.pdf ( https://www.nxp.com/docs/en/brochure
-
Thread
3,3V-Mikrocontroller-Pin über Widerstand mit 5V verbinden: Was passiert?
Hallo zusammen, ich habe folgenden Aufbau: - Mikrocontroller-Pin (STM32F103C8T6) - Widerstand - 5V-Leitung Was passiert nun, wenn der Mikrocontroller versucht den Pin auf sein Vcc=3,3V hoch zu ziehen? Welche Spannung liegt am µC-Pin an? Wird dieser beschädigt
einen AVR über ein Pin am Laufen halten wenn > die Betriebsspannung mal ausfällt... Und wenn der 3,3V µC sich schlafen legt und kaum Strom verbraucht kann Vdd versucht sein, in Richtung 5V zu wandern.
-
Thread
Kleines C-Prog geht nicht
Ja mit PORTA &= ~(1<<PA0); funktioniert es und mit PORTA = ~(1<<PA0); blinken die LEDs 0 und 2,3,4,5,6,7 abwechselnd. 3 bleibt ein! Trinke erst mal einen Kräuter! Danke
ICh weiß ja nicht welchen Controller du verwendest. Eigentlich sollte [c] PORTA = 3; _delay_ms(500); PORTA &= (0<<PA0); _delay_ms(500); [/c] funktionieren. Möglicherweise liegt so etwas vorkonfiguriertes wie JTAG auf dem Pin?
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil5)
// 14 -> 100 µs 0xFFFFFF83, // 15 -> 200 µs 0xFFFFFF06, // 16 -> 500 µs 0xFFFFFE0C, // 17 -> 1 ms 0xFFFFFB1E, // 18 -> 2 ms 0xFFFFF63C, // 19 -> 5 ms 0xFFFFEC78, // 20 -> 10 ms 0xFFFFCF2C, // 21 -> 20 ms 0xFFFF9E58, // 22 -> 50 ms 0xFFFF3CB0
Kanal 3 und 4 prüfen mit U27 vergleichen. Spannung +-2,5V und 3,3V an den OP-Amps prüfen. Kanal 4 sieht fast so aus, als ob bei einen AD Wandler ein Dout Pin fehlt oder die Referenzspannung falsch ist.
-
Thread
OrangePi RV2 und ESP32-C5 im Hands-on
P4 ist derzeit wieder pausiert (Auguren rechnen mit mindestens 120 Tagen Verspätung), während der C5 derzeit über https://www.alibaba.com/product-detail/esp32-esp32-c5-2-4G-5G_1601251918870.html?spm=a2747.product_manager.0.0.594871d2U01ATW zu erwerben ist. Das dort feilgebotene Produkt ist indes ein
Verbindung mit dem Kommandogerät erfolgt dann wie in der Abbildung gezeigt. Zu beachten ist, dass die 3V3-Quelle des MiniModule nicht zur Versorgung des ESP32 ausreicht, wenn dieser sein Funkmodul aktiviert.  Bildquelle: Autor ### ESP32-C5 – Programmierung mit ESP_IDF
-
Thread
Xilinx Spartan 3AN -- DDR2 SDRAM Ansteuerung
Laut BOM hast du, wenn du ein Spartan-3AN-Starterkit hast, einen MT47H32M16BN-3; im Datenblatt von Micron sind die einzelnen Stellen erläutert (hier: -3 -> Timing: cycle-time = 3,0 ns -> DDR2-667 möglich). Der Speedgrade des FPGA gibt dir
Reset dort erstmal drei Takte lang an? > Nein, sollte er? Ja, laut: http://forums.xilinx.com/t5/Simulation-and-Verification/DCMs-not-locking-in-ISE10-1-03i-ModelSim6-3c/m-p/30115/highlight/true#M283 Karnikel S. schrieb im Beitrag #1912139: >> Welches Memory Model verwendest Du? > Das Model
-
Thread
Fragen zu normaler Schalter an µC-Input-Pin
Vielleicht nochmal von vorne... 1. Ich schließe den Pin an GND an. 2. Der µC bekommt Saft. 3. Ich habe einen Active-Low-Input-Pin mit aktiviertem internen Pullup. 4. Ich lese den Pin: High (warum?) 5. Ich entferne die Pin Verbindung zu GND. 6. Ich lese
PINE_MASK ((1<<PINE2)|(1<<PINE3)) DDRE = 0x00; PORTE |= PINE_MASK; PCMSK0 = PINE_MASK; PCMSK1 = PINB_MASK; EIFR = (1<<PCIF0)|(1<<PCIF1); EIMSK = (1<<PCIE0)|(1<<PCIE1); PORTE |= (1 << PINE5);
-
Thread
Daten über I2C von AtTiny85 als Slave auslesen / TinyWireS Lib
Ich habe wohl die ursprüngliche Version erwischt die ohne Interrupt im Hauptprogramm arbeitet. [c] #include <TinyWireS.h> #include <usiTwiSlave.h> #define I2C_SLAVE_ADDR 0x44 // i2c slave address (38) #define LED1_PIN 4 // ATtiny Pin 3 #define LED2_PIN
Moinsen! Das Hauptprogramm sieht schon mal so aus: [c] #include <TinyWireS.h> #include <usiTwiSlave.h> #define I2C_SLAVE_ADDR 0x44 // i2c slave address (38) #define LED1_PIN 4 // ATtiny Pin 3 #define LED2_PIN
-
Thread
C > Struct > Pointer - Adresszuweisung
; register8_t PIN0CTRL; /* Pin 0 Control Register */ register8_t PIN1CTRL; /* Pin 1 Control Register */ register8_t PIN2CTRL; /* Pin 2 Control Register */ register8_t PIN3CTRL; /* Pin 3 Control Register
(*(PORT_t *) 0x0700) /* Port J */ #define PORTK (*(PORT_t *) 0x0720) /* Port K */ #define PORTQ (*(PORT_t *) 0x07C0) /* Port Q */ #define PORTR (*(PORT_t *) 0x07E0) /* Port R */ [/c]
-
Thread
AVR Timer 1 Normal/CTC Mode ?
PORTB &= ~(1 << 5); // Pin von A zurück auf 0 setzen OCR1A = 49152; // Compare Register A anpassen } ISR(TIMER1_COMPC_vect) { // Timer 1.C Interrupt // toggelt Port.B.Bit7 = OC1C automatisch
S. Landolt schrieb: > B0 liefert die Frequenz f, B1 f/2, B2 f/4 So war es für die erste Programmversion von c-hater. Was war daran nicht zu verstehen? c-hater schrieb: > Du mußt natürlich an PortB5..7 messen und nicht an den OCx-Ausgängen. Das gilt
-
Thread
3fach Timer (einschaltverzögerung)
2 EIN > 6. Delay 70 Sekunden > 7. Relais 3 EIN > 8. Warten auf Godot > > Attiny25, 1x 100nF, 3x BC..., 3-5V für den µC, Spannung für die Relais > > mfg. Hmmmm wie mach ich das? Wie
www.mikrocontroller.net/articles/AVR-GCC-Tutorial http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Grunds.C3.A4tzlicher_Programmaufbau_eines_.C2.B5C-Programms http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Zugriff_auf_IO-Ports http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Warteschleifen
-
Thread
Output Pins festlegen und verwenden (Anfänger)
Kaan Ayhan schrieb im Beitrag #4001095: > Wie meinst du das mit der switch-Anweisung? [c] #include "sbit.h" void pin_out( uint8_t pinno, uint8_t level ) { if( level ) switch( pinno ){ case 0: PORT_B6 = 1; break; case 1: PORT_B7 = 1; break; case 2: PORT_D5
case 2: PORT_D5 = 0; break; case 3: PORT_D6 = 0; break; case 4: PORT_D7 = 0; break; case 5: PORT_B0 = 0; break; } } [/c] Sollte schneller gehen, als mit Pointer. Einfacher
-
Thread
MAX232 und serial Port Gesperrt
Hi so kurz vor Weihnachten Ich hab mal zwei Fragen zur seriellen Schnittstelle in Verbindung mit dem MAX232 1. Es gibt wohl verschiedene Bausteine des MAX232; manchmal werden die Schaltungen mit 100nF Kondensatoren; manchmal mit 1uF oder 10 uF-Elkos betrieben. Was wird hier von euch empfohlen? Was ist die beste bzw. die billigste Lösung? 2. Bei der Beschaltung der seriellen SSt habe ich verschiedene Möglichkeiten gesehen; es werden mal 2; mal drei oder mal mehrere Pins des 232 an die SSt herangeführt, oft auch unterschiedliche (T1out, T2out, R1in, R2in). Mal werden auch zw. Pin 7-8 und
-
Thread
80C517A Paging
, das ich partout nicht verstehe. [avrasm]MOV 0xB2, #0x0 ; PORT_PAGE = 0 MOV 0xB1, #0x81 ; Set Port3 Pin0 and P7 as Output MOV 0xB0, #0x00 ; Set level of Pin0 and Pin7 to GND ORL 0xB0, #0x01 ; Set Pin0 to HIGH[/avrasm] Ich habe bereits verstanden
Fabian Hoemcke schrieb im Beitrag #2647564: > MOV 0xB2, #0x0 ; PORT_PAGE = 0 > MOV 0xB1, #0x81 ; Set Port3 Pin0 and P7 as Output > MOV 0xB0, #0x00 ; Set level of Pin0 and Pin7 to GND > ORL 0xB0, #0x01 ; Set Pin0 to HIGH B0 ist der Port 3. Hier wird
-
Thread
STM32F2xx - USB_OTG_FS
Datasheet der MCU gibt es ein Schaubild dazu VBUS der Buchse bleibt direkt verbunden mit dem VBUS-Pin der CPU nur brauchst du noch einen Spannungswandler 5V->3,3V der aus den 5V die Betriebsspannung der CPU erzeugt Gruss Uwe
für Debugzwecke da? 2) In der C-Datei usbd_usr.c gibt 5 Funktionen. Wo wird die Funktion VCP_DataRx aufgerufen beim Empfang von Daten? Wozu dient die Funktion VCP_Ctrl?
-
Thread
ESP32-H2 will nicht schlafen
'''C:\Users\localuser\.espressif\python_env\idf5.5_py3.11_env\Scripts\python.exe'' ''C:\Users\localuser\esp\v5.5.1\esp-idf\tools\idf.py''' --target esp32h2 'd:\Dev\code\sleep-test\build\sleep-test.elf' -
--- 0x408059fe: enable_timer_group0_for_calibration at C:/Users/localuser/esp/v5.5.1/esp-idf/components/esp_hw_support/port/esp32h2/rtc_time.c:279 D (444) cpu_start: calling init function: 0x40805e7c --- 0x40805e7c: tlsf_set_rom_patches at C:/Users/localuser
-
Thread
Problem: Stoppuhr in C (Interrupts und Pull-Ups)
< 4; i++) { if (sek[i] > 9) { sek[i]=0; sek[i+1]++; } if (sek[3] > 9) { sek[0] = 0; sek[1] = 0; sek[2] = 0; sek[3] = 0; } } } //----------------------------------- [/c]
rst = 0; } PORTA = zahl[sek[0]]; //Port für 10er Sekunden PORTB = zahl[sek[1]]; //Port für Sekunden PORTC = zahl[sek[2]]; //Port für 1/10 Sekunden PORTD = zahl[sek[3]]; //Port für 1/100 Sekunden } } ... [/c]
-
Thread
2 Einsteigerfragen - Arithmetik & Frequenz
1 -> 3*2^1 = 6 Die beiden Sachen sind mit | verknüpft, also 128 + 6 = 134. Das in eine Binärzahl gewandelt ergibt dann das Muster: 10000110 Wenn ich dieses Bitmuster sehe, ist mir doch eigtl. klar, welche
meinen Vorstellungen würde ich das so machen: Adresse wird eingelesen über (z.B.) den kompletten PortB und Pin 1 von (z.B.) PortD, andere Pins von PortD sind evtl. für andere Sachen genutzt. Gibt es hier denn die Möglichkeit nur BIT0 also diesen einen PORT-Pin von D auszulesen? um an b ranzukommen
-
Thread
LCD HLM8070
kann; die Hardware-Beschaltung dürfte fast identisch sein. Pinbelegung für Art.Nr. 120387 LCD-Pin Funktion Standard Hitachi 1 GND GND 2 VDD +5V VDD +5V 3 Kontrast Kontrast 4 I/OC1 RS 5 R/W R/W 6 ex E 7 DB0 DB0 8 DB1 DB1 9 DB2 DB2 10
2 VDD +5V -> +5V (Rot) 3 Kontrast -> auf Poti-Mittenlanschluss 4 I/OC1 -> I/O Pin 5 R/W -> auf Masse, da nur schreiben 6 ex -> execute Signal (2x/Zyclus verwenden
-
Thread
74HC595 Flackern nicht gesetzter Pins
abgehangen. Falls hilfreich, das ist der einzige Teil, der aus der Lib angepasst wurde. [c] // Numbers of 74HC595 #define com74hc595_SIZE 2 // PORTS #define PORT_com74hc595 PORTB #define PORT_SER PINB0 //74HC595 PIN 14 #define PORT_SCK PINB1 //74HC595 PIN 12 #define
OE wird nicht genutzt [c] // use with /OE //#define WITH_OE[/c] Ob 5V oder 3V3 macht kein Unterschied. Ob es an den 8MHz liegt, kann ich nicht sagen. Werde gleich mal andere Pins wählen, damit ich an PB0 und PB1 einen externen
-
Thread
DOG-M Display über SPI
(0x1C); //Bias Set: 1/4, 2-zeiliges LCD LCD_SendCmd(0x74); //Kontrast C3, C2, C1 setzen LCD_SendCmd(0x52); //Booster aus, Kontrast C5, C4 setzen LCD_SendCmd
einmal :-) Das sollte aber soweit passen....kein Plan an was es liegen könnte. Bei SPI muss ich ja D5-D0 + E + RW auf 3,3 Volt legen. Kann ich diese Pins denn auch direkt an µC Pins hängen und diese auf High schalten? Oder hat der zuwenig Power oder so? Würd sich auf Steckbrett halt anbieten...
-
Thread
ST-Link V2-1 Virtual COM Port
Walter T. schrieb im Beitrag #5845703: > Jein. Es gibt eine echte UART-Leitung zwischen ST-Link V2-1 und dem > Target mit einer echten Baudrate. Das ist ungünstig, denn IIRC läuft der COM Port im ST-Link hart auf 115200 Baud. Falls der µC auf dem Nucleo64 selbst USB kann sollte man eher darüber
drei USART-Schnittstellen können gleichzeitig via USB-CDC genutzt werden; USART1 geht dabei bis 4.5MBit/s, USART2-3 bis 2.25 MBit/s. Wenn du also noch einen STM32F103 rumliegen hast... https://github.com/Erlkoenig90/f1usb/tree/vcp https://github.com/Erlkoenig90/f1usb/blob/vcp/src/vcp.cc#L83
-
Thread
Junkers HT-Bus Heatronic 3 Schnittstelle
03 01 01 03 00 01 88 00 07 00 03 01 01 03 00 01 00 00 00 00 00 00 00 00 00 17 88 00 18 00 28 01 3A 64 00 01 13 20 C0 80 00 80 00 80 00 FF FF FF 00 00 00 00 00 00 00 81 88 00 34 00 2D 01 A8 01 A8 81 00 04 03 00 00 03 66 00 00 73 00 92 88 00 19 00 00 5C 80 00 80 00 FF FF 00 64 00 11 7B 00 2E 1E
macht. Alternative wäre, den RX direkt an den (echten) RS232 Port (Pin 2) eines PC klemmen, GND an Pin 5 (für 9-polige Buchse). Mit solch niedrigen Pegeln können aber manche (besonders Notebooks) nichts anfangen. Gruß Ronny
-
Thread
Auswahl Adressen I2C Bus am Attiny 841
(1<<PINA2) // Jumper A1, Auswahl auf GND #define I2C_MASKS3 (1<<PINA3) // Jumper A2, Auswahl auf GND uint8_t i2c_slave_addr () { uint8_t sel = !(I2C_PINS&I2C_MASKS1) | (!(I2C_PINS&I2C_MASKS2)<<1) | (!(I2C_PINS&I2C_MASKS3)<<2); return pgm_read_byte(i2c_addr+sel); } [/c]
-
Thread
2 µC an eine SD-Karte
es eine ausgesprochen dumme Sache, wenn einfach so die Steuerleitungen umgeschaltet werden und der 2. uC zu Lesen beginnt... Und wenn du jetzt weißt, welcher der beiden uC gerade auf die Karte darf, dann kannst du beim anderen ganz einfach die Portpins MISO (DO), MOSI (DI) und SCK (CLK) per Software
Timing ausgeht? > Hmmmmmmmmm Mal überschlägig und gefühlt: auch eine "langsame Kamera" bekommt ein 3MB großes Bild in 5sec weggespeichert. Das ist also 0,6MB/sec oder 5MBit/sec. Da müsste (um irgendwelche Setup- und Hold-Zeiten nicht allzusehr zu verletzen) das Signal mindestens mit dem Faktor 5 überabgetastet
-
Thread
Polling Entwicklungsboard 2.0.1 wird nicht gefunden
Sooo.... Ich hoffe, ich hab nichts vergessen: 1) Am µC liegen laut Multimeter 5,00V an. Eine Änderung der Spannungsquelle von 9V zu 11,3V (lag hier noch rum) hat auch nichts gebracht. 2) Die Frage nach dem Anschluss war anders gemeint. Mir ist schon klar
Hi Bevor ihr Pollin-Boards die Schuld gebt, Kabel ist 1:1 ? Also 2 auf 2 und 3 auf 3 ? Dann wird das nix. Es muß schon ein Nullmodemkabel sein und da ist 2 auf 3 und 3 auf 2, also gekreuzt. Aber, und ich kann das nur empfehlen, kauf einen USB ISP -Stick und vergiß
-
Thread
GLCD Routinen ( KS0108, HD61202 )
Hi, kann mir mal einer nen Belegungsplan senden? Ich verstehe es nicht ganz. Oder: PIN LCD 1 GND 2 +5V 3 Poti Schleifer 4 5 PA4 6 PA5 7 PC0 8 PC1 9 PC2 10 PC3 11 PC4 12 PC5 13 PC6
// Command Port Bits #define CD PA0 // Data/Control (RS) PinNumber #define RW PA1 // R/W PinNumber #define EN PA2 // EN PinNumber #define CS1 PA3 // CS1
-
Thread
Anfänger in C und welcher PIC (evtl. uno32) ist geeignet ?
7FBE D001 BRA 0x7FC2 7FC0 D001 BRA 0x7FC4 7FC2 D002 BRA 0x7FC8 7FC4 D00C BRA 0x7FDE 7FC6 D00B BRA 0x7FDE 7FC8 4A01 INFSNZ time, F, ACCESS 7FCA 2A02 INCF 0x2, F, ACCESS 7FCC 0E24 MOVLW 0x24 7FCE 5C01 SUBWF time, W
. Da nur zwei Port pins für I2C plus Serial für RS232 dafür verbraucht werden hält sich der Verlust an IO in Grenzen. Eine 18F8722 Bord stattete ich mit einem 96-pin DIN41612 Stecker aus und hat sich als Einsteck-Modul
-
Thread
Wer verwendet RFM69?
_delay_ms(5000); lcd_setcursor( 0, 2 ); lcd_data( '5' ); lcd_data( '3' ); lcd_data( '2' ); } return (0); } [/C] Das lustige ist jetzt messe ich beim Sender bei Miso oder Mosi garkeine übertragung mehr Sie
Lieber Felix, habe einen Fehler in deiner LIB gefunden: in der [c]static inline uint8_t rfm_spi[/c] muss es [c]SCK_PORT &= ~(1 << SCK);[/c] und [c]SCK_PORT |= (1 << SCK);[/c] statt [c]SCK_PIN = (1 << SCK);[/c] und [c]SCK_PIN = (1 << SCK);[/c] heißen
-
Thread
µC strommessen
Batterie. wenn nun eine andere Speisung ueber einen (-)-Shunt die Batterie laedt, so ist der eine Pin des shunt auf GND, der andere aber tiefer. Das muss man beheben, inden man fuer den ADC zB 2.5V dazuzaehlt. Alternativ kann man einen (+) Shunt verwenden. Dan sind beide Pins des shunts ausserhalb des ADC Bereiches. Dann muss man die beiden Pins voneinander subtrahieren und 2.5V hinzuzaehlen.
-
Thread
R2R-Genauigkeit in der Praxis
für nicht einmal 90 Cents: http://www.reichelt.de/ICs-M-MN-/MCP-4726A0T-E-CH/index.html?;ACTION=3;LA=2;ARTICLE=109763;GROUPID=2914;artnr=MCP+4726A0T-E%2FCH;SID=12T1y5n38AAAIAAHAJ-3s42653fe6a70a92cf7c01c21d8a60aaff#av_tabdata
> einmal 90 Cents: > > http://www.reichelt.de/ICs-M-MN-/MCP-4726A0T-E-CH/index.html?;ACTION=3;LA=2;ARTICLE=109763;GROUPID=2914;artnr=MCP+4726A0T-E%2FCH;SID=12T1y5n38AAAIAAHAJ-3s42653fe6a70a92cf7c01c21d8a60aaff#av_tabdata Ich denke, es ist hinreichend bekannt, dass es DACs für wenig Geld zu
-
Thread
Frage zu ATtiny26 als Steuergerät
=RAD+4%2C7%2F35 Außerdem gehören die Kondensatoren nicht schön gleichmäßig über die Platine verteilt, sondern dorthin wo sie gebraucht werden. Also C6 direkt neben Pin5/6 und C7 neben Pin 15/16. C1, C2 so
die > Platine verteilt, sondern dorthin wo sie gebraucht werden. Also C6 > direkt neben Pin5/6 und C7 neben Pin 15/16. C1, C2 so nah wie möglich an > den Spannungsregler. Ebenso C3 und C4. Gemacht Alex Bürgel schrieb im Beitrag #4099243: > Einen Ein- / Ausschalter
-
Thread
Einstieg in Cypress FX2 Programmierung
konntest ist alles ok. Also, in der Checkliste, die ich gefunden habe, steht: 1.) Alle Power-Pins und GNDs anschliessen. -> o.k. 2.) VCC Ramp-Up Zeit mindestens 200us. -> Das regelt der LDO. Laut der Checkliste wäre das dann normalerweise o.k. 3.) Reset mindestens 5ms, wenn man einen Quarz nimmt
Frequenz und Genauigkeit o.k., Load Capacitance ist angegeben als 10pF bis 75pF (?) und drive level ist 0.5mW (also o.k.) 5.) RESERVED Pin auf GND -> o.k. 6.) 2.2k Pull-ups für SDA und SCL -> o.k. 7.) EA auf GND -> hat die 56 pin Version nicht 8.) WAKEUP mit 10k auf VCC So weit, so gut. Danke für den
-
Thread
Atmega88, Timer2 und PD3
Tom M. schrieb im Beitrag #2996709: > Heißt das jetzt, dass PD3 prinzipiell nicht als Ausgang verwendbar ist, > sobald ich Timer2 benutze? Nur wenn du den Timer explizit anweist, den Pin zu benutzen. [c]TCCR2A = (1<<COM2B1)|(1<<COM2B0);[/c]
Argh! Der Wald und die Bäume! Bits 5:4 – COM2B1:0: Compare match output B mode These bits control the Output Compare pin (OC2B) behavior. If one or both of the COM2B1:0 bits are set, the OC2B output overrides the normal port functionality
-
Thread
2x16 LCD
Hallo, also mein problem ist folgendes..... ich habe dieses ganz normale wald und wiesen display 2zeilen je 16zeichen (HD44....) am atmega8 angeschlossen und versuche verzweifelt aus dem ding funktion raus zu bekommen..... ich habe es folgendemasen angeschlossen: DB7->PC5 DB6->PC4 DB5->PC3
> ich habe es folgendemasen angeschlossen: DB7->PC5 DB6->PC4 DB5->PC3 DB4->PC2 E ->PC1 RS ->PC0 ich hatte sowas ähniches auch! Habe ALLES mögliche probiert.. problem war port c des µC. Löte das ganze auf port D oder so um! Soll funktionieren
-
Thread
Tasten von verschiedenen Ports auslesen
könnte die Bits zusammen fassen und dann meine Entprellroutine (Codesammlung) nehmen: i = (PIND >> 2) | (PINE & 0xC0); // Bit 3,4,5,6,7 i ^= ~key_state; // key changed ? usw. Peter
einfach um 6 Bit geschiftet. Auf jeden Fall habe es jetzt folgendermaßen gelößt: i=(PIND & 0xE0)|(PINE>>3); //PIND7,PIND6,PIND5,PINE7,PINE6,... i ^= ~key_state; ... if(get_key_press(1<<7)) Schalter PIND7 if(get_key_press(1<<6)) Schalter PIND6 if(get_key_press(1<<5)) Schalter PIND5 if(get_key_press
-
Thread
µC hängt sich nach einer weile auf
//LED Heizung aus HEIZUNG_OFF(); pointer_main_menu=5; } //***********************************Trockenlauf*********************** if(!(PORT_TROCK &(1<<PIN_TROCK))&& z.imp_ms_E && Tr_delay<20){ //Wenn Trockenlauf Fehler ++Tr_delay
HEIZUNG_OFF(); //Heizung aus } } if(PORT_TROCK &(1<<PIN_TROCK) && u.Trocken_det && z.imp_ms_V) PORTC ^= ( 1 << PC7 ); //Trockenlauf LED mit 2,5Hz blinken lassen wenn Trockenlauf wiedergekommen //***********************************Übertemperatur
-
Thread
Kann man das besser schreiben?
[C] #define SR_PORT PORTD #define SR_DDR DDRD #define SER_PIN PD0 #define SCK_PIN PD1 #define SCL_PIN PD2 #define RCK_PIN PD3 uint8_t Led[32] = { 0, 1, 0, 1, 0, 1, 0, 0, 0,
32 Bits sind draussen // Die SR-Latches durchschalten SR_PORT |= ( 1 << RCK_PIN ); SR_PORT &= ~( 1 << RCK_PIN ); } [/C] [C] int main() { .... uint32_t step = 0b00000000000000000000000000000001; while( 1 ) { Output( step );
-
Thread
Interrupt in C
Grüßt euch, ich wollte gerade eine einfach Interrupt-Routine in C programmieren, jedoch will der uC nicht so wie ich :/ Ausgangssituation: An Port D0 ist ein Signalgeber angeschlossen. An Port D3 (INT0) und Port D4 (INT1) ist jeweils ein Schalter gegen Vcc angeschlossen
DDRD |= (1<<PD6); while (1) { if ( (PIND & (1<<PD2)) ) { // active high alarm(); } } } [/C] Wenn du den Pulldown einsparen willst: [C] int main(void) { // PortD6 (Buzzer) output, alles andere input // PD6 o-----BUZZER--
-
Thread
Arduino UNO an 4fach Relais
nach +VCC oder nach GND hängt kann sogar den Strom dieser Relaisplatine am In testen, das muss der Port auch liefern können. Der µC kann natürlich an seinen Ports mit 3,3V und 5V ebenfalls unabhängig getestet werden ob 3,3V/5V oder 0V bei dieser Last stabil steht.
deiner Verdrahtung einen Wurm drinnen LCD Verkabelung LCD > Arduino --------- VSS > GND VDD > +5V V0 > 10k ((Poti)) + ((1kOhm Widerstand)) > GND RS > Pin 12 R/W > Pin GND E > Pin 11 D4 > Pin 5 D5 > Pin 4 D6 > Pin 3 D7 > Pin 2 A > nicht angeschlossen K > (10 Ohm Widerstand
-
Thread
Bascom I2C Eeprom
8mhz Quarz und habe einen Atmega 32. Ich habe alles auf dem Avr Evaluationsboard von Pollin (Version:2.0.0). Hier der Code: [code] '============I2C EEprom schreiben/lesen ================================== ' =========== Für 24C256 EEprom ===================== ' 8MHz Quarz ' LCD auf Port
8mhz Quarz und habe einen Atmega 32. Zitat aus dem o.g. Code: Hier der Code: '============I2C EEprom schreiben/lesen ================================== ' =========== Für 24C256 EEprom ===================== ' 8MHz Quarz ' LCD auf Port B , ' $regfile = "m32def.dat" $crystal = 8000000
-
Thread
NEC Beamersteuerung mit Atmega8U2
LED_PORT PORTC // Port an dem LEDS liegen #define LED1 (1<<PC2) // LED 1 Ein/Aus System #define LED2 (1<<PC4) // LED 2 EIN/AUS Audio #define LED3 (1<<PC5) // LED 3
LED_Port #define TAST_PORT PORTD // Port an dem Taster liegen #define TAST_PIN PIND // PIN an dem Taster liegen #define TASTE2 (1<<PD0) // Taste 2 EIN/AUS Audio #define TASTE3
-
Thread
LED1 OK. aber LED2 blinkt nicht mit voller Helligkeit
PB1 habe ich hinzugefügt,für ein Attiny13 der extern an 5 Volt geschaltet ist. */ [c] #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Pin 1 von Port B (PB1) als Ausgang schalten "DDRB |= (1 << PB1);
Varianten leben. Ich habe eher Probleme, den Teile von Peters Code in sbit.h zu verstehen: [c] struct bits { uint8_t b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; } __attribute__((__packed__)); #define SBIT_(port,pin) ((*(volatile struct bits*)&port).b##pin) #define SBIT(x,y) SBIT
-
Thread
ISP Schnittstelle für einen AT89C51RC2/RD2
ab, dürfte nicht funktionieren. Nimm doch einfach die Standardbeschaltung aus dem Datenblatt. µC VCC/GND bestimmt vertauscht? Pin 44 meist VCC, 22 = GND. Dann muß wenigsten der Quarz mit den 2 C dran sein (µC arbeitet dynamisch!) und der EA-Pin auf VCC liegen. Hier ein ähnlicher Adapter, zwar
dem ist korrekt... kann aber auch sein dass dein IC mit 3,3V arbeitet das weis ich nicht is bei manchen ICs so kannste aber ganz leicht umgehen indem du 2 1N4148 Dioden in reihe an 5V knallst dürften dann so 3,6V sein das müssste passen aber miss lieber nach