-
Thread
Vorschlag: C-Funktion für Taster-Entprellung
unter bestimmten Bedingungen Probleme verursachen kann. *Beschreibung der Parameter* [code] *Port: Pointer auf Port, an dem der Taster angeschlossen ist Pin: Pin(nummer) des Tasters Values[3]: Array mit 3 uint-Werten, Bedeutung wie folgt. 1. Zahl: Zählvariable für Zustand "betätigt" 2. Zahl: Zählvariable für Zustand "unbetätigt" 3. Zahl: Zwischenspeicher für entprelltes Signal. [/code] *Code* [c] uint8_t fDebounce(volatile uint8_t *Port, uint8_t Pin, uint8_t Values[3])
-
Thread
STM32 CMSIS Register setzen problem
, wenn zum Beispiel bit0 - bit3 > eines Ports auf Ausgang gesetzt werden sollen? [c] // PA0-3 = Output MODIFY_REG(GPIOA->MODER, GPIO_MODER_MODER0+ GPIO_MODER_MODER1+ GPIO_MODER_MODER2+ GPIO_MODER_MODER3,
lesbar einstellen zu können. Wieder ein Beispiel: [c] /* Port A: */ #define wf_PA0 ANALOG /* an Vcc/2+JP3, usart2cts,adc,tim2,wkup*/ #define wf_PA1 IN_PUPD /* an JP3, usart2rts,adc,tim2*/ #define wf_PA2 ALTF_50
-
Thread
RTC DS1307 mit Bascom konfigurieren und abfragen
wenn ich beim aufstecken nichts falsch gemacht habe sollte das Passen. Also den Quarz habe ich auf Pin 1 und 2 gepackt, Pin 3 ist + der Batterie, 4 GND von VCC und Batterie, 5 sda, 6 scl, 7 offen und 8 VCC. SDA und SCL sind mit Widerständen von 2,2 k gegen Vcc. Michael
wenn ich beim aufstecken nichts > falsch gemacht habe sollte das Passen. Also den Quarz habe ich auf Pin 1 > und 2 gepackt, Pin 3 ist + der Batterie, 4 GND von VCC und Batterie, 5 > sda, 6 scl, 7 offen und 8 VCC. Ja, ok. Auf dem Schaltplan sind die Pins in der falschen Reihenfolge. Das war etwas verwirrend
-
Thread
µC macht was er will
weißt Du, was mir persönlich am besten gefällt? Es ist dieses Ungetüm: 1<<PD7 | 0<<PD6 | 1<<PD5 | 1<<PD4 | 1<<PD3 | 1<<PD2 | 1<<PD1 | 1<<PD0 (bei PortA dann natürlich mit "PA7"..."PA0" etc.). Ich verwende das konsequent bei allen I/O-Sachen. Ich kann direkt sehen, welche 0 oder 1 zu welchem
.def temp = r16 1<<temp meldet syntaxerror bei deinem konstrukt 1<<PD7 | 0<<PD6 | 1<<PD5 | 1<<PD4 | 1<<PD3 | 1<<PD2 | 1<<PD1 | 1<<PD0 ebenfalls. in hilfe nix gefunden, kenne das < von c, aber nicht von assembler mfg ip
-
Thread
Raspberry Pi Pico SDR
Filter sitzt in der Spannungsversorgung > des OLED. Also die SMD-"Ferritperle" BLM21SP111SH1D mit FL2 + C6, vermute ich? file:///C:/Users/DAC3/Downloads/PICO_SDR.sch.pdf Ist FL2 eine Sicherung?
CW(Hz) Very Narrow 4.6 4.6 1.6 1.6 7.4 100 Narrow 5.3 5.3 2 2 8.1 400 Normal 6 6 2.3 2.3 8.8 600 Wide 7.4 7.4 2.7 2.7 9.5 800 Very
-
Thread
LED Tisch mit Berührungs-/Gegenstandserkennung
http://www.reichelt.de/Kabelschuhe/QS-1-5-4/3/index.html?&ACTION=3&LA=2&ARTICLE=24827&GROUPID=3250&artnr=QS+1%2C5-4 oder http://www.reichelt.de/Flachstecker/RK-R-4/3/index.html?&ACTION=3&LA=2&ARTICLE=15260&GROUPID=3249&artnr=RK-R-4
=112848&s_field=wysoki_prog&s_order=ASC&visible_params=2%2C367%2C35%2C10%2C2613%2C365%2C98%2C383%2C32%2C364%2C120%2C55%2C375%2C2234%2C63%2C31%2C804&used_params=383%3A24821%2C24608%2C24792%3B http://www.alibaba.com/product-detail/Linear-Mixed-Signal-Integrated-Circuits
-
Thread
Problem beim abfragen von 2 DHT22
;3 - Db3 ;;4 - Db4 ;;5 - Db5 ;;6 - Db6 ;;7 - Db7 ;; ;;PortB ausgang: ;;0 - RS ;;1 - E ;;2 - Kontroll LED1 ;;3 - Leer ;;4 - Leer ;;5 - Leer ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
waitMs ;min 1ms warten ; ldi arg,13 ;40 µs warten ;lo_: ; dec arg ; brne lo_ out PortC,DHTmaske ;über DHT auf 1 setzen (ist Pin an dem der Sensor hängt) ldi arg,8 lo__: ;20 µs warten dec arg brne lo__ ldi arg,0x00 ; cbi PORTC,2 out DDRC,arg ;SensorPin auf
-
Thread
Cypress FX3 USB IC
installiert und die Doku überflogen. Dabei ist mir bereits folgendes aufgefallen. Der Cypress FX3 hat ja nur SRAM also keinen dauerhaften Speicher. Daher muss das Programm z.B. in einem externen EEPROM gespeichert werden der an den I2C Bus vom FX3 angeschlossen wird. Über die PMode Pins konfiguriere ich den FX3 so das dieser weiß das die Firmware aus den externen EEPROM über I2C in den FX3 geladen werden soll. Ist dies so richtig? Ich habe mal das SlaveFifoSync Beispiel im Eclipse IDE importiert. Und den
-
Thread
Drehimpulsgeber
Idee... Das Breadboard-kompatible PCB (Bild) kostet ca. 77ct bei OSH-Park. Es sind noch zwei Aux-Pins und über 600 Bytes EEPROM frei. Dazu kommen noch: * µC: 24ct * zwei 0805-Kondensatoren * Alps-Dreh-Drückgeber * Pin-Header (8 Pins) Features: ¯¯¯¯¯¯¯¯¯ * Operating voltage: 2.95 to 5.5 V
Mittlerweile ist da auch viel STM32 bei. Na gut, aber im Grunde mußt Du ja nur die Hardware Deines 3-Phasen Frequenzumrichters nehmen: ein Display ist vorhanden und an INT0 ist ja schon C13 mit 2,2 nF vorhanden. Für die andere Drehgeberphase kannst Du einfach PD1 nehmen ;-)
-
Thread
SourceCode MMC die Zweite
immer die ausgelesenen Daten. volume_boot_record_addr 64 cluster_size 1 fat_offset 2 cluster_offset 592 CSD 8c, 26, 0, 2A, 0F, 59, 1, E9, F5, D9, 83, E3, 92, 40, 40, D3 U08 BS_jmpBoot[3]; U08 BS_OEMName[8]; U16 BPB_BytesPerSec; //2 bytes 00 02
SD1 SD2 SD3 SD4 SD4 SD6 SD7 SD(PIN)
-
Thread
Timer 1 OC1A Pin taktet nicht (ATtiny841)
0x70; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter Compare Outputs signals routed to TOCCn pins: // Nothing -> TOCC0 // OC1A -> TOCC1 // Nothing -> TOCC2 // Nothing -> TOCC3 // Nothing -> TOCC4 // Nothing -> TOCC5 // Nothing -> TOCC6 // Nothing -> TOCC7 TOCPMSA0=(0<<TOCC3S1) | (0<<TOCC3S0
einer der TOCCn Pins eingeschaltet werden: [c]TOCPMCOE |= (1<<TOCC1OE); TOCPMCOE |= (1<<TOCC3OE); TOCPMCOE |= (1<<TOCC5OE); TOCPMCOE |= (1<<TOCC7OE);[/c]
-
Thread
Hilfe bei Fehlersuche Wemos D1 Mini Pro bei Stromversorgung über 5V-Pin gesucht
Netzteile ausprobiert. Bei allen dreien messe ich (sowohl bei Versorgung über USB als auch über den 5V-Pin) folgende Spannungen: Am LDO: 1.) Zwischen Pin1 (Vin) und Pin2 (GND): 5V 2.) Zwischen Pin3 (EN) und Pin2 (GND): 5V 3.) Zwischen Pin5 (Vout) und Pin2 (GND): 3.3V Am Flash: 4.) Zwischen
Steve T. schrieb im Beitrag #6546128: > 1.) Zwischen Pin1 (Vin) und Pin2 (GND): 5V > 2.) Zwischen Pin3 (EN) und Pin2 (GND): 5V > 3.) Zwischen Pin5 (Vout) und Pin2 (GND): 5V Echt jetzt - 5V an Vin?
-
Thread
LCD KS0073 am AVRATMega128
Hallo, habe folgenden Code um das Display (4x20) im 2Zeile 5x8 Modus zu initialisieren: void initLCD(void) { LCD_DDR = 0xEF; // alle Pins PortC auf Ausgang schalten wait10ms(10); int i; for (i= 0;i<3;i++) { LCD_PORT = 3;
(5); LCD_PORT = 2; // 4Bit _delay_ms(3); LCD_PORT = 8; // 2-Line Mode 5x8 _delay_ms(5); LCD_PORT = 0; // 2-Line Mode 5x8 _delay_ms(3); //LCD_Enable();
-
Thread
Zustand vom Port speichern beim Attiny2313
zum Entprellen eines Tasters */ inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ( ! (*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */ _delay_ms(50); // max. 262.1 ms / F_CPU in MHz _delay_ms(50);
eeprom_read_byte(&foo); //liest den Wert aus dem EEPROM for(;;) { if (debounce(&PIND, PD5)) newState ^= ( 1 << PB5 ); if (debounce(&PIND, PD4)) newState ^= ( 1 << PB4 ); if (debounce(&PIND, PD3)) newState ^= ( 1 << PB3 ); if (debounce(&PIND, PD2
-
Thread
Signalgenerator, Grenzen eines Atmega8
Beitrag #3114128: > Zudem ist ein AD9833 jetzt nicht nen IC den man am liebsten einlötet. > MSOP10, 3x3mm groß und 10 Pins. Mit ein bisschen Flussmittel sind die 0,5mm doch wirklich kein Problem http://www.youtube.com/watch?v=erb6-i54tbo
wiki/Wilhelm_Cauer Schaltungstechnisch sehen die alle gleich aus: DAC ---+---L1 ----+-----L2----+----L3-----+-----Ausgang | | | | +---C01----+----C02----+----C03----+ | | | | C1 C2 C3
-
Thread
zu wennig pins
hallo zusammen, würde gerne wisse wie ich folgendes problem am besten lösen kann. arbeite mit µC und dieser hat zwar 40 pins aber wegen speicherplatz mangel muss ich ein externen ram dranhängen. das problem ist das dieses nvsram 15 adressierungs, 8 dta in/out und noch 3 weitere pins hat. also 26 pins die ich an mein µC hängen muss aber ich habe nicht soviele pins am µC frei. habe gehört das man mit einem port von bit 0-7 und hilfe von ic´s dieses problem lösen kann.kann mir jemand erklären wie das
-
Thread
dual port ethernet device
(<-- R0) | | | R1--+--+--+--+--+--+--+.. R2.. R3.. | | | | | | | S1 S2 S3 S4 S5 S6 S7 ... [/code] Du hast also 2 Ebenen die Latenzen erzeugen. Mit der Kaskadierung die du vor hast, hast du n (n=Anzahl der Steuerungen
Motorsteuerung anpassen kannst, dann schmeiß doch die > bisherige Phy raus und erstze die durch einen 3-Port Switch (z.B. > KSZ8863) Muss ich dafür die bestehende FW verändern? Wäre das eine grössere Änderung? Sehe ich richtig dass ich dann 2 MAC adressen hätte? (bzw 3-> 3 port switch)? Thx
-
Thread
Problem mit PS2
&= ~PVAL_PS2CLK; #define BD_vPS2SetDataLo() P1DIR |= PVAL_PS2DATA; #define BD_vPS2SetDataHi() P1DIR &= ~PVAL_PS2DATA; typedef UCHAR T_PS2_COMM (VOID); UCHAR BD_ucPS2PortFSMReceive (VOID
0x03); // ports p1.0 & p1.1 ohne spezialfkt. P1IE |= (PVAL_PS2CLK); // pin 1.0 -> interrupt P1IES |= (PVAL_PS2CLK); // pin 1.0 flanke 1->0 } void BD_vPS2InitData (void) { ucData
-
Thread
Mikrocontroller lernen als E-Technik-Student: Assembler bzw 8 Bit noch sinnvoll?
dauern, als nur 8-Bit-mäßig "2 > Registerzugriffe und die LED blinkt!" Man muss im Hardware Configuration Tool den PIN auf GPIO out stellen. Den init code generieren. und dann ne Funktion mit der Signatur set_GPIO_pin(*HAL_GPIO_port Port,* HAL_GPIO_pin pin,state) aufrufen. und das alles in ne FreeRTOS loop mit osWait(uint32_t waitTime) Das sind 5 oder 6 gut verständliche Codezeilen statt unporttierbarem Register-gemampel.
-
Thread
CNC Maschinchen
untergrenze erreicht, dann auf ende setzen If Indy < 1 Then Indy = 4 End If 'ports setzen Portb.4 = My(indy).1 Portb.5 = My(indy).2 Portc.0 = My(indy).3 Portc.1 = My(indy).4 End Sub Sub Motorz(rz As Integer ) Indz = Indz + Rz 'wenn obergrenze erreicht, dann
untergrenze erreicht, dann auf ende setzen If Indz < 1 Then Indz = 4 End If 'ports setzen Portc.2 = Mz(indz).1 Portc.3 = Mz(indz).2 Portc.4 = Mz(indz).3 Portc.5 = Mz(indz).4 End Sub
-
Thread
ir senden mit tiny2313
zu > PB2. *PB2 ist beim Attiny2313 der OC1A Pin* und der soll über den Timer1 > mit 38khz Toggeln. Wen ich jetzt Pin PB2 auf Low setze sollte die > LED leuchten Datenblatt Attiny2313 PB2: OC0A PB3:
AVR. Das Programm bringt am Anfang die Statusmeldung. Wenigstens die solltest du sehen egal ob ein RC5 Code erkannt wird. Du kannst auch die Fuses auslesen und hier zeigen. Checke die RS232 Verbindung. Messe dazu die Spannung zwischen Pin2 bzw. Pin3 und Pin5 am Stecker des RS232 Kabels, wenn es einseitig
-
Thread
erste Versuche mit Atmega8
also: 1. im Text redest du von PB4, setzt aber in deinem Code immer die C-Ports. 2. hast du wirklich einen 4433er oder einen Mega8? Dann muesstest du auch die ".inc" aendern 3. Ich weiss nicht wie das bei einem 4433 ist, aber mein 8252 hat einen pin, mit dem man die Programmausfuehrung
Hallo Falls du wirklich das C-Port nimmst, hast du hoffentlich auch AVCC mit VCC und AGND mit GND verbunden. Die 3,45V sind 5V minus Diodenspannung der LED, das heisst der Ausgang ist hochohmig und der Port nicht aktiv. Mess einmal
-
Thread
SD Karten Library für ATMega gesucht
Timebase Timer um alle 10 ms die disk_timerproc() Funktion auszuführen. Sonst noch die diskio.h, ff.c, ff.h, ffconf.h, integer.h, mmc.c richtig? Was ich nicht verstehe ist du hast bei Card Detected eine Abfrag auf Port F Pin 0. Der CS Pin ist aber Port B Pin 0 was hängt dann am Port F Pin 0? Und
braucht man ihn NICHT!!! Sondern an der SD-Karte!!! Jop habe ich auch gemerkt auf dem TFT Display 2,2 Zoll ILI9341 sind zwei Widerstande nah am Sockel. Der CS und MISO Pin ist bereits über ein 10K Widerstand auf 3,3 Volt gezogen. Meiner ist also überflüssig. Also die SD Karte funktioniert auf dem
-
Thread
Mikrocontroller in C++ oder C Programieren
der Argumente ausgewählt (und um zu dieser Erkenntnis zu kommen, muss man jetzt auch nicht 10 Jahre C++ gemacht haben)! in C: [code] IntSinD(1.3); IntSinF(1.4f); [/code] in C++ [code] using intrinsics::sin; sin(1.3); sin(1.4f); [/code] Der generierte Code wird exakt
enthalten ist Man kann also etwa [c] constexpr auto x = p.portReg(); [/c] nicht schreiben (wenn man mal testweise portReg() public macht).
-
Thread
Arduino: digitalRead in Interrupt ist unzuverlässig
einfügen. Also du meinst: 1) Aktiviere Interrupt für den gesamten PCINT Port 2) Anschließend frage mit if() ab, welche der Pins in dem Block sich von LOW auf HIGH geändert hat, indem ich die alte Zustände in einer Variable(eher Array) speichere und abfrage 3) Den neuen Zustand
; 2 bc: f0 95 com r31 ; 1 be: ec 5c subi r30, 0xCC ; 1 c0: ff 4f sbci r31, 0xFF ; 1 c2: e4 91 lpm r30, Z+
-
Thread
DS18B20 Verkabelungs od Software Problem
DeviceAddress sensor1 = { 0x28, 0x61, 0x64, 0x11, 0xB0, 0x6B, 0xE1, 0x21 };//Temp //DeviceAddress sensor2 = { 0x28, 0xFF, 0x5, 0x72, 0x74, 0x16, 0x3, 0xE0 }; //DeviceAddress sensor3 = { 0x28, 0xFF, 0x2B, 0x3F, 0x73, 0x16, 0x5, 0x60 }; //DeviceAddress sensor4 = { 0x28, 0xFF, 0xC5, 0x11, 0x73, 0x16, 0x5, 0x7D }; //DeviceAddress sensor5 = { 0x28, 0xFF, 0xC, 0x68, 0x74, 0x16, 0x3, 0x30 }; //Temp char sensor1Name[] = "Temp 1: "; //char sensor2Name[] = "Temp 2: "; //char sensor3Name[] = "Temp 3: "; //char sensor4Name[] = "Temp
-
Thread
bascom: 3 parameters expected beim elseif
'Zeitvariable ' Set I/Os 'Portb.0 = 0 'PB0 Pin5 K2_MOS Halbleiterreilais zbv 'PortA.5 = 1 'PB1 Pin6 K3_Mec Mechanisches Relais 'Portb.2 = 0 'PB2
Alias Pina.4 X = 5000 K1_mos = 0 'Pin wird auf High, also 5V geschaltet K2_mos = 0 '<- K3_mec = 1 'Pin wird auf High, also 5V geschaltet
-
Thread
DABPi - FM/DAB Empfänger mit Si4688 für Raspberry Pi
Kannst Du nicht selber diese Frage durch nachschauen beantworten? Die Platine belegt nicht alle Pins. Das Schema zeigt doch, dass DABPi die folgenden Pins braucht: - SPI0_xx (SPI zum Laden der Firmware und Steuern des DABPi) - ID_xx (I2C für HAT) - PCM_xx (I2S für den digitalen Ton) - Pin16 (GPIO4
Achso was noch wichtig wäre das Board geht nur auf einen RPI 2 u.3 ! Das dürft beim Original Projekt durch den 40 poligen Pinheader nicht anders sein. "The 40 pin connector fits the Raspberry Pi 1 B, Pi 2 B and Pi 3 boards" Der RPI 1B hat leider einen 26
-
Thread
sigrok - Cross-Platform Open-Source Logic Analyzer Software
nicht Speichern kann, habe ich sigrok-cli > folgendermaßen aufgerufen: > >> sigrok-cli --driver fx2lafw -d samplerate=1m -o testsampling.csv -O csv -p >> 0=PIN1_G,1=PIN2,2=PIN3_V,3=PIN4,4=PIN5,5=PIN6,6=PIN7,7=PIN8,8=PIN9 --time >> 1000 > > Offensichtlich verschluckt sich Sigrok aber hier an der
machen (z.B. nach CSV exportieren, Protokoll Decoder laufen lassen, etc). $ sigrok-cli --driver fx2lafw -d samplerate=1m -o testsampling.sr -p 0=PIN1_G,1=PIN2,2=PIN3_V,3=PIN4,4=PIN5,5=PIN6,6=PIN7,7=PIN8,8=PIN9 --time 1000 Uwe.
-
Thread
Belegung der Pins am NodeMCU
Hallo Das NodeMCU Bord mit dem ESP12 (E)F hat die folgenden Pins an beiden Seiten. Einige Pins sind ohne Probleme klar verständlich. Einige sind vorgeschlagen für anderes. D0 - GPIO 16 - (User Wake) ? D1 - GPIO 5 - SCL D2 - GPIO 4 - SDA D3 - GPIO 0 -
Folgende Ports kannst du benutzen: GPIO2,4,5,12,13,14,16
-
Thread
SED1520: Lesen vom Display
Verzeihung, im Anhang der Quellcode, die Anschaltung: [c] /* µC: ATmega8 f_CPU: 1Mhz 1 A0 - PC0 2 CS2 - PC1 3 CS1 - PC2 4 CL - not connected 5 /RD(E) - 5 V 6 /WR (R/W) - PC4 7 Vss - GND 8-15 DB0-7 - PD0-7 16 Vdd - 5 V 17 Res - PC5 18 VEE - -3.0 V 19,20 EL-Hintergrundbeleuchtung - not connected */ [/c]
-
Thread
12V mit 5V schalten?! P-kanal MOSFET?
^ | | | | | | (Pin1) _|/ (Pin2) _|/ µC(Pin2) _|/ |\> |\> |\> | | | | | | ---
will kann er auch NPN Transistoren (wie z.B. BC847) nehmen. Wenn er die Versorgungsspannung mit 1.5A schalten möchte sind das bei einem PNP-Transistor 0.2V * 1.5A = 0.3W an Verlustleistung. Bei einem kleinen MosFET mit einem Innenwiderstand von 60mOhm liegt diese Verlustleistung bei 0.135W.
-
Thread
Atmega via Ethernet flashen
Broadcast (ff:ff:ff:ff:ff:ff) Internet Protocol, Src: 192.168.1.99 (192.168.1.99), Dst: 192.168.1.2 (192.168.1.2) User Datagram Protocol, Src Port: 65466 (65466), Dst Port: tftp (69) Source port: 65466 (65466) Destination port: tftp (69) Length: 24 Checksum: 0x5b36 [validation disabled
00000000000011000029000000000000000000e80300000000000000002900560003000100010002003a005c4d41494c534c4f545c42524f575345000c00e0930400415242454954534752 55505045000080030a001000800080f87f49424d5f4c41505900b4c0b0e2 enc28j60ReadBuffer end No funktion for this packet found - discarded TFTP
-
Thread
STM32 Shift operationen
1 2 3 3 31[/c]
data = 0x5; GPIO->BSRR = (data << 10) | ((~data & 0xF) << (10 + 16));[/c] Nur wie kommt man hier an die 10 aus dem BusStartPin-Makro? GPIO_Pin_10 ist ja (1 << 10). Mit log2 geht das: [c]GPIO->BSRR = (data <<
-
Thread
Raspi Pi Pico schnell genug um 4Mhz Z80 zu sniffen?
doch die Lösung sein? https://www.amazon.de/FREENOVE-Breakout-Raspberry-Terminal-Shield/dp/B0BFB53Y2N/ref=sr_1_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&crid=2GT6U15SYQ77K&keywords=Breakout+Board+f%C3%BCr+Raspberry+Pi+Pico&qid=1707560588&sprefix=breakout+board+f%C3%BCr+raspberry+pi+pico%2Caps%2C77&
beschäftige ich mich aber nicht mit. 9. Mi N. >Abgesehen vom "Wiehern" frage ich mich, wie Du auf 2 mA kommmst. Bei 3,3 >V des RP2040, (maximal) 5 V der Z80 Logik und 0,5 V Durchlassspannung >der Eingangsdioden müssen ca. 1,2 V (5 - 3,8) Spannungsabfall >berücksichtigt werden. Bei 2,2 kOhm fließen
-
Thread
I2C Controller mit Timer und einfacher Logik
#6160775: > Gibt es solche Devices vielleicht fertig für derartig einfache Aufgaben? die suche mit "I2C IO" ergibt: https://www.google.com/search?q=i2c+io Sind solche I2C Port Expander das, was du suchst? > Außerdem gut wäre ein ADC Eingang Wenn du einen I2C hast, dann kannst du dort doch auch den
Config und dann autonomes Verhalten wäre besser. Keine Ahnung wie robust I2C ist, um ein Timing-Regime stabil im Bereich von 5-10ms aufrecht erhalten kann? Stefan ⛄ F. schrieb im Beitrag #6160791: > Das wäre ein programmierbarer Mikrocontroller. Fast jeder kann I²c. Zum
-
Thread
einfache Schreibweise um Pins zu schalten
[c] struct bits { uint8_t b0:1; uint8_t b1:1; uint8_t b2:1; uint8_t b3:1; uint8_t b4:1; uint8_t b5:1; uint8_t b6:1; uint8_t b7:1; } __attribute__((__packed__)); #define SBIT(port,pin) ((*(volatile struct bits*)&port).b##pin) #define TestPin SBIT (PORTD, 7) [/c] Jetzt kannst Du schreiben: TestPin = 1; TestPin = 0;
-
Thread
einfache Grafikkarte mit 256x252 und 256 Farben für AVR
); DDRB=(1<<PB6); [/c] Da der PWM Ausgang bei dem 128 auf Port B6 ist. Und bei Port e wollte ich nur die PE1 und PE2 als ausgang setzten, damit ich die anden pins noch verwenden kann. Bei durchschauen des Quellcodes
Hallo Kann es sein, dass ich im tvgen.S etwas noch bezüglich der Ports etwas ändern sollte? Assembler kann ich noch nicht so gut programmieren. Was bedeutet: [c] cbi _SFR_IO_ADDR(PORTE), 0[/c] und [c] sbi _SFR_IO_ADDR(PORTE),0 [/c] Mfg Daniel
-
Thread
LPC und 5 Volt am Ausgang nicht vorhanden
habe ein LPC 2294 Developboard mit einer HD 200 Platine von der Firma Phytec. Ich habe mehrere I/O PIN's als Ausgänge definiert und möchte auf dem Patch-Feld am Pin 5 Vold anliegen haben. Doch ich habe nur 3.3 Volt. Habe den jumper 16 auf Stellung 2 + 3. Messe dort auch meine 5 Volt sowie am PIN Row
>TTL Level ist aber nicht 5V. Eher 2.5V. Ach Quatsch! Man sollte nicht gleichzeitig essen und posten :( 3.3V ist für TTL High level ok. Es muss nicht 5V sein.
-
Thread
Ein-Taster + Bedientaster
Leben" und kann sich auch selbst wieder abschalten. 2. Wenn der Taster bei eingeschalteter Vcc gedrückt wird, soll der µC das über den TestSwPort mitbekommen. Die eigentliche Einschaltmiemik (alles außer R5/C1) habe ich simuliert - das scheint zu funktionieren, zumindest theoretisch. Die Spannung an allen Pins des 328P außer Reset darf maximal 0,5 V größer als Vcc sein - das könnte ein Problem an beiden Ports werden, denn im Moment des Einschaltens ist Vcc noch 0. R5/C1 soll den Anstieg der Spannung am
-
Thread
MSP430 F5529 Wobbel-Generator
würde das verlinkte Beispiel ausbauen, Schritt für Schritt: z B Frequenz und Tastverhälnis ändern. [c] #include <msp430g2553.h> #include <stdint.h> #define LED_GREEN BIT6 #define TASTE_S2 BIT3 #define DUTYCYCLE_DIVIDER 5 #define CHANGE_ALL_MS 500 int main(void) { WDTCTL = WDTPW
Interrupt pending */ #define TB0IV_TBCCR1 (0x0002u) /* TB0CCR1_CCIFG */ #define TB0IV_TBCCR2 (0x0004u) /* TB0CCR2_CCIFG */ #define TB0IV_TBCCR3 (0x0006u) /* TB0CCR3_CCIFG */ #define TB0IV_TBCCR4 (0x0008u) /* TB0CCR4_CCIFG */ #define TB0IV_TBCCR5 (0x000Au
-
Thread
DS18B20 probleme mit Pull-Up
detect --> err=1 otherwise err=0 delay_us(400); // 400 us if( (DS1820_PIN & (1<<used_pin)) == 0 ){ // short circuit --> err=2 err = 2; } return err; } [/c] used_pin übergebe ich richtig in der Hauptschleife, daran sollte es meiner Meinung nach nicht liegen
_delay_us(2); DS1820_DDR &= ~(1<<used_pin); // define as input // DS1820_PORT |= 1<<used_pin; //Pullup on _delay_us(10); rebit = (DS1820_PIN & (1<<used_pin)) >> used_pin
-
Thread
Signal über Ports leiten
Hallo Wie kann ich elegant das Signal das z.B auf "Port B Pin 2" reinkommt am "Port C Pin 3" wieder abgreifen. Konfiguration als Ausgang/Eingang ist klar. Wie aber sieht ein kurzer Code aus, der den Ein- mit dem Ausgangs-Pin "verbindet" ? Programmiersprache
es gibt mehrer Möglichkeiten. 1. Wenn der ganze Port gespiegelt werden soll: PORTC = PINB; 2. Wenn du nur einen einzelnen PIN spiegeln willst: PORTC &= (PINB&(1<<3)); hier von PINB.3 auf PORTC.3 3. Wenn du einen einzelnen PIN "quer" spiegeln
-
Thread
Suche günstige 32Bit MCU Plattform ähnlich Arduino
würde ich dir das CY8CKIT-059 von Cypress/Infineon schenken, die Controller-Familie dahinter heisst PSoC5LP. Markus S. schrieb im Beitrag #6896955: > 1. 32Bit MCU Ja, ARM Cortex M3 > 2. MCU mit min. 1x CAN-BUS (idealerweise auch mit HS-Transceiver on > Board) Ja, aber braucht externen Transceiver
Markus S. schrieb im Beitrag #6896955: > 2. MCU mit min. 1x CAN-BUS (idealerweise auch mit HS-Transceiver on > Board) Der schon ältere LPC11Cxx hat den Transceiver sogar On-chip. Dafür benötigt er aber auch 5 V (neben den 3.3 V für den µC
-
Thread
Micronucleus - USB-Bootloader für ATtiny
habe sowohl mit Deinen Einstellungen, als auch mit PB6 (D+) und PB3 (D-) versucht, bekomme den Loader jedoch nicht zum Laufen. PB3/PB6 halte ich für die idealeren Pins, da somit das USI Interface PB0-PB2 frei bleibt. Das kann jedoch je nach Anwendung unterschiedlich
V2.01 ist fertig: https://github.com/micronucleus/micronucleus • v2.01 July 26th, 2015 - Fixes "unknown USB device" issue when devices with <16MHz CPU clock were connected to a USB3.0 port.
-
Thread
Minicom empfängt keine Daten über serielle Schnittstelle
Prinzip funktioniert es, aber mir ist aufgefallen das Minicom die Einstellungen verändert von 4000:5:1cb2:0:3:1c:7f:15:4:0:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 nach 1:0:1cb2:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 Wahrscheinlich hat sich
1 2 3 4 5 6 ... ergibt. Zusätztlich ist auch direkt neben die Pins in der Zeichnung deren Belegung geschrieben. Und beides (Numerierung u. Beschriftung) fehlt zu COM1 und COM2. Das beide bei einer
-
Thread
AVR ATtiny Stromaufnahme
(CLKCTRL.MCLKCTRLB, CLKCTRL_PDIV_16X_gc | CLKCTRL_PEN_bm); // 1 MHz Main Clock PORTA.PIN1CTRL = PORT_ISC_INPUT_DISABLE_gc; // disable PA1 digital input buffer PORTA.PIN2CTRL = PORT_ISC_INPUT_DISABLE_gc; // disable PA2 digital input buffer PORTA.PIN3CTRL = PORT_ISC_INPUT_DISABLE_gc
, CLKCTRL_RUNSTDBY_bm); // Run in Standby PORTA.PIN1CTRL = PORT_ISC_INPUT_DISABLE_gc; // disable PA1 digital input buffer PORTA.PIN2CTRL = PORT_ISC_INPUT_DISABLE_gc; // disable PA2 digital input buffer PORTA.PIN3CTRL = PORT_ISC_INPUT_DISABLE_gc
-
Thread
AVR32: Wie Ausgänge/Eingänge schalten/einlesen
Auslesen eines Pins gelingt mir aber immer noch nicht richtig. Ich hoffe ihr könnt mir weiterhelfen. Ich möchte Pin PA21 auslesen, welchen ich auf GND oder 3,3V ziehen kann. Hierfür benutze ich folgenden Code: [c
// oder = 0x0 while(1){ pin_status = gpio_get_pin_value(AVR32_PIN_PA21); } } [/c] Der Wert von PA21 wird zwar richtig ausgegeben, im AVR32_GPIO.port[0].pvr Register werden bis auf 2 jedoch alle Pins als High erkannt, obwohl
-
Thread
Programm auf ATmega8 übertragen
1 aus sbi PortB, 1 ; LED 2 aus rjmp Anfang ; Anfang damit wieder neu los gehen kann ende: rjmp ende Nun Nach los lassen vom Taster 1 also wieder 1 an PinD 0 sollten die LEDs anbleiben, tun sie
von mir so gelesenen Dreierfehlerkette > 1. sollten die LEDs anbleiben, tun sie aber nicht, > 2. PinD 1 gibt auch kein 0 Signal > 3. somit wird auch ENDE1 nicht ausgeführt. 2 als wahrscheinlichsten Übeltäter identifiziert (=> Frage nach der Schaltung) und war baff überrascht, als du später
-
Thread
LCD mit Interrupts?
,PinC ; read BusyFlag cbi PortD,E_LCD ; Enable ~\_ nop ; nop ; Enable min. 450 ns nop ; nop ; nop ; nop ; nop ; nop ; sbi PortD
Mit Busy ist so: ich habe zwei Varianten für bedingte Compielen gemacht, mit Busy und mit Delay. [c]//#define LCD_BUSY 1 #define LCD_DELAY 2[/c] [c]#ifdef LCD_BUSY // Wartet auf BUSY=0 void lcd_busy_null( void ){ unsigned char data; LCD_PORT_RS &= ~(1<<LCD_RS); // RS = 0, Befehle/BUSY