-
Thread
Error - could not find definition of symbol 'putrsXLCD_2' in file 'D:\LCD_2015\main.o'.
beiden XLCD.H files gleich, lediglich Enable 1 ist an E1 und Enable 2 an E2. #define RW_PIN PORTEbits.RE0 /* PORT for RW */ #define TRIS_RW DDREbits.RE0 /* TRIS for RW */ #define RS_PIN PORTBbits.RB5 /* PORT for RS geändert */ #define TRIS_RS DDRBbits.RB5
#define RS_PIN PORTBbits.RB5 /* PORT for RS geändert */ #define TRIS_RS DDRBbits.RB5 /* TRIS for RS geändert */ #define E_PIN_2 PORTEbits.RE2 /* PORT for E2 */ #define TRIS_E_2 DDREbits.RE2 /
-
Thread
ST26 16MBit Flash <.> XMEGA256A3BU
Read[2] = Spi_USARTD0_Rx_Tx(0x00); Read[3] = Spi_USARTD0_Rx_Tx(0x00); Read[4] = Spi_USARTD0_Rx_Tx(0x00); Read[5] = Spi_USARTD0_Rx_Tx(0x00); Read[6] = Spi_USARTD0_Rx_Tx(0x00); Spi_USARTD0
,"x[1] 0x%02x\n\n",x[1]); Send_UART(Buffer); sprintf(Buffer,"x[2] 0x%02x\n\n",x[2]); Send_UART(Buffer); sprintf(Buffer,"x[3] 0x%02x\n\n",x[3]); Send_UART(Buffer); _delay_ms(2500); } [/c] bekomme jedoch nicht zurück was da in
-
Thread
8x12v über Internet einzeln ansteuern?
Relais-Board, wie dieses: https://www.amazon.de/Kuman-Shield-Module-Arduino-Raspberry/dp/B014L10Q52/ref=sr_1_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=8ch+relais&qid=1557420022&s=gateway&sr=8-2 oder dieses: https://www.pollin.de/p/bausatz-pc-relaiskarte-k8io-710722 Aus Sicherheitsgründen solltest
wie dieses: > https://www.amazon.de/Kuman-Shield-Module-Arduino-Raspberry/dp/B014L10Q52/ref=sr_1_2?__mk_de_DE=%C3%85M%C3%85%C5%BD%C3%95%C3%91&keywords=8ch+relais&qid=1557420022&s=gateway&sr=8-2 das geht ohne Schaltbild vermutlich nicht, man kann nur raten! Es gibt so viele Arduino Relais die
-
Thread
4Bit LCD, restliche Portpins Problem
PD4 ;; ;; E: PD5 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; .equ LCD_PORT = PORTD .equ LCD_DDR = DDRD .equ PIN_E = 5 .equ PIN_RS = 4 ;sendet ein Datenbyte an das
; 2 rcall delay5ms rcall lcd_enable ; und 3! rcall delay5ms ldi temp1, 0b00000010 ; 4bit-Modus einstellen out LCD_PORT, temp1
-
Thread
Li Ionen Ladegerät Balancer
Guten Morgen, @ralf0815, hier die Werte der Balancer Anschlüsse, im angeschlossenen Zustand, gemessen Pin Balancer Port gegen Masse Akku: PIN1 0V (weil -Akku) PIN2 3,91V PIN3 7,83V PIN4 11,75V PIN5 15,68V PIN6 19,60V PIN7 6,87V PIN7 sollte aus meiner Sicht 0V gegen Akku - ausgeben, tut er aber nicht ?! Die Spannung der Einzelnen PINS gegeneinander: Minus war immer der PIN mit der kleineren Nummer. PIN1-PIN2 3,91V PIN2-PIN3 3,91V PIN3-PIN4 3,92V PIN4-PIN5 3,93V PIN5-PIN6 3,92V PIN6-PIN7 -12,74V (verstehe ich nicht, wo soll
-
Thread
mehrere Pins vom Mega32 einlesen und Frage zu Ponyprog
hat da mal was reingestellt) und danach über ihre Nummer ansprechen. Braucht sensationell nur 1 IO-Pin. >Ich habe da z.B. SBIS Port, Pin stehen. Und diese Port und Pinnummer >bekomme ich nicht als Variable. Naja, könnte man schon, wird aber aufwendig. Ein Switch (Assembler oder C) ist da einfacher
sind und nicht für die Laufzeit. Was soll denn der Assembler übersetzen, wenn ich schreibe .SET A=PortC .SET B=PIN2 SBSIS A,B .SET A=PortC .SET B=PIN3 JMp nach SBIS Was setzt der Assembler für A und B ein? Ich glaub so geht das nicht. Mit dem Schieben im Register werd ich mal überlegen.
-
Thread
AVR Anfang / Flash geht aber Programm scheint nicht zu laufen
Rest. Ich habe das jetzt schon gesehen und das entfernt. Für diesen Test habe ich dann den ganzen Port C nehmen wollen, weil das ja wirklich alles Ausgänge sind. Wo ich mir nicht sicher bin DDRC = 0xFF denn da sind ja nur Port C0 bis Port C5 also DDRC = 0x3F aber auch dann ändert sich nichts. Zur Frequenz
7 als auch an Pin 20 müssen jeweils 5V anliegen. Der AVCC Pin versorgt nicht nur den Analogteil sondern auch Port C, Bits 0 bis 3. TO: Kannst Du bestätigen, dass an Pin 7 UND Pin 20 jeweils 5V anliegen?
-
Thread
AT89C51ED2 + CA3081 Port immer High?
Hardware Funktioniert. Und sie tut es :) Werde jetzt weitere Sachen testen. Kleines Lauflicht: [c] #include <reg51xd2.h> sbit LED1 = P1^1; sbit LED2 = P1^2; sbit LED3 = P1^3; sbit LED4 = P1^4; sbit LED5 = P1^5; sbit LED6 = P1^6; sbit LED7 = P1^7; void Pause (void) { unsigned int
in meinem Programm? [c] #include <reg51xd2.h> sbit LED1 = P1^1; sbit LED2 = P1^2; sbit taster1 = P2^2; sbit taster2 = P2^5; void main(void) { if(taster1==0) {LED1=0;} else if(taster1==1)
-
Thread
ATTiny13 nach einmal Flashen nicht mehr beschreibbar
mehr erkannt. Folgend fängt mein Programm an: avr.device = attiny13 avr.stack = 7 SoftUart.PinRXD = PortB.1 SoftUart.PinTXD = PortB.2 SoftUart.Baud = 1200 #define Oscillator as PortB.4 Oscillator = 1 Oscillator.mode = output,high #define LED as PortB.3 LED = 1 LED.mode = output,high
Zum Programm, es enthält Fehler. Hier ist eine korrigierte Version [c]avr.clock = 1000000 avr.device = attiny13 avr.stack = 8 #if 0 ' unbenutzt SoftUart.PinRXD = PortB.1 SoftUart.PinTXD = PortB.2 SoftUart.Baud = 1200 #endif #define Oscillator as PortB.4
-
Thread
LCD EA DOG-M und Bascom
Reset Portc.4 Next Wertx Return Da: Data &H3 , &H3 , &H3 , &H2 , &H2 , &H9 , &H1 , &HC , &H5 , &H2 Data &H6 , &H9 , &H7 , &H4 , &H0 , &HF , &H0 , &H1 , &H0 , &H6
Bin mir nichtmal sicher, ob das Display nach den vielen Versuchen nicht schon kaputt ist. Meine Ports: Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.4 , Rs = Portb.5 Danke schonmal im Vorraus. Gruß Tommy
-
Thread
Kriege Timer 1 im Mega2560 nicht zum laufen!
|=(1<<LED_ARDUINO) #define LED_ARDUINO_OFF LED_ARDUINO_PORT&=~(1<<LED_ARDUINO) // arduino nano v3 // D0 (Rx) PD0 // D1 (Tx) PD1 // D2 (Int0) PD2 // D3 (Int1) PD3 // D4 (XCK/T0) PD4 // D5 (T1) PD5 // D6 (AIN0)
| PB5 (D 5) MOSI // TX1/INT1 (D 11) PD3 |5 | PB4 (D 4) PWM/SS // PWM (D 12) PD4 |6 | PB3 (D 3) PWM // PWM (D 13) PD5 |7 | PB2 (D 2) INT2 //
-
Thread
PIC10F206 - Port schalten?
an, dass du MPLAB hast und den mitgelieferten CCS-Compiler benutzt. Dann sollte ein Programm zum Port togglen so ungefähr aussehen: [c] void main() { SET_TRIS_B(1); while(1) { OUTPUT_HIGH(PIN_B2); delay_ms(100); OUTPUT_LOW(PIN_B2); delay_ms(100); } } [\c] Fallst du
Das geht soweit! Kann am Port aber gerade nur GP3 schalten (4,8V), GP2 führt 4,5V, GP1 führt 2,2V und GP0 führt 0V. Aber ich denke das ist noch ein Fehler im CMCON0 (da hab ich gerade 0x0A drin). Danke schonmal soweit! Falls
-
Thread
Dybkowski AT89S8253 Flasher Platinen-Aufbau
cadsoft/html_public/download.htm.de&dir=eagle/userfiles/libraries http://www.reichelt.de/?ACTION=3;ARTICLE=14701;GROUPID=;SID=289-k2Q6wQARwAADjshvwfdcf7c8bd097e46a8475767198b91c54 Nochwas: 5pF Kondensatoren am Quarz bei diesen µC-Typ in 22pF ändern EA/VPP-Pin an VCC legen und dort in der Nähe
Nullmodemkabel, falls Du keins hast: http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=C691;GROUPID=2;ARTICLE=3971;START=0;SORT=artnr;OFFSET=16;SID=32NX@zJawQASAAABqVUuM9027e5fe8d83f0e11d3b46cd04123ed3
-
Thread
Schieberegister ersetzen
Ich bleibe beim FPGA wie LFXP2-5E-5TN144C, obwohl man eigentlich das nimmt, was einem der Fitter vorschlägt in der Toolchain.
Uno/ATmega 328P. Daten in PD0(TXD0) rein und an PD1(TXD0) verzögert raus. Es sind auch fast exakt 5ms, naja, 5,004 wenn mein Oszi richtig mißt. Anbei die Bilder. Kanal 1 ist der Eingang, Kanal 2 der verzögerte Ausgang. Auf dem 3. Bild sieht man den lückenlosen SPI Takt an PD4. [c] #include <avr
-
Thread
AVR Butterfly Programm
steht PD3 P steht für Port D steht für den Port D 3 ist die Pinnummer innerhalb des Port D Jetzt weist du also, dass die Led am Port D am Pin 3 angeschlossen ist. Also musst du diesen Port-Pin auf 1
am Port D auf 1 setzen // PORTD = ~( 1 << PD3 ); // alternativ den Pin 3 auf 0 setzen while( 1 ) // und den Prozessor beschäftigen ; } [/C]
-
Thread
Vodafone Webby Webradio
", "mysalt"); puts(passwort); return 0; } [/c] Vergiss nicht, das Programm gegen libcrypt zu linken. Beispielsweise ergibt [c]sha512_crypt("123456", "$6$wL6/ANvg9V4eYuo8")[/c] den Hash [code]$6$wL6/ANvg9V4eYuo8$nN9F51IFUa8Nbi198XSIPC.iaQNA5CYnurbsPpG221VL0wLNt2F8izOT1mNC3VzuPnAAZ85PTGx2CfrZHqJbQ
gerne BFBS in der Radioliste: BFBS UK : http://www.bfbs.com/radio/listen/live?stream=IGh0dHA6Ly90eC5zaGFycC1zdHJlYW0uY29tL2p3LnBocD9jPXNzdmNiZmJzMW1wMyZ0eXBlPXJ0bXAmcnRtcC5sb2FkYmFsYW5jZT10cnVlJmF1dG9zdGFydD10cnVlJmJhY2tjb2xvcj0jMDAwMDAwJmZyb250Y29sb3I9RkZGRkZG&file_type=mp3 ist das möglich, oder
-
Thread
Pin ist Active Low, warum?
die Kommentare nicht mit in den Post übernommen hat. Aber kurz gesagt, im else Block von der PIN Abfrage. [c]if (PINC & (1 << 0)) { [...] } else { PORTA &= ~((1 << 0) | (1 << 1)); PORTA &= ~((1 << 2) | (1 << 3)); } [/c] >> Ziehe ich ihn auf VCC passiert nichts.
<3)); } else { // Wenn Eingang = GND PORTA &= ~((1<<0) | (1<<1) | (1<<2) | (1<<3)); } } return 0; } [/c] Das Problem ist folgende: Eingang mit Vcc verbunden: LEDs leuchten
-
Thread
Cortex Arm M3 M4 M7
Sachen ist der Arm wohl schneller.. Aber mit einem M3 oder so hat man doch alles was man braucht, von 48-144 Pins, can, 1MB oder sogar 2? etc pp
> Aber die Pinanordnung ist total Gaga. Die FMC Pins (für das SDRAM) sind > rund um den Chip verteilt. Das blockiert die Weiterentwicklung in Pichtung > DDR2/3 in neueren schnelleren Versionen. Schade! richtig, die Anordnung der Pins zum FMC ist
-
Thread
ATtiny keine Pins mehr frei
Ich merke gerade, dass ich die MCU Typ ATtiny25 habe. An den 3 LED Pins ist leider nur 1 Analog-Pin vorhanden. PB2 Pin7.
Habe die Sache mal durchgerechnet. (für Digitallösung) LED rot (2V) 3K9 Vorwiderstand. 1 K Pull-Down über Switch Pins Spannung bei geschlossenen Switch: U = (5V-2V) *1K / (3K9 + 1K) = 0,61V Laut Datenblatt wir LOW sicher erkannt bei Max. = 0,3 x 5V = 1,5V
-
Thread
ESP8266 - Software I2C - Dauernd Resets
Einzige, was ich mache, ist ein paar Pins zu toggeln, mein Code: [c] /* includes... */ #define SCK BIT5 #define SDI BIT4 #define SDO BIT2 //is always high os_timer_t callTimer; void initI2CPins(){ gpio_init(); PIN_FUNC_SELECT
75% sicher, dass das Problem damit zusammenhängt. Ich hab meine Code dahingehend abgeändert: [c] void initI2CPins(){ gpio_init(); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO5_U, FUNC_GPIO5); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO4_U, FUNC_GPIO4); PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2
-
Thread
OLED Display SSH1106 - u8glib Problem mit I2C
_i2c, U8G_I2C_OPT_NONE); [/c] sowie PB5 für SCL PB3 für SDA
gäbe es z.B. diese Funktion: [c] u8g_InitSPI(&u8g, &u8g_dev_sh1106_128x64_hw_spi, PN(1, 5), PN(1, 3), PN(1, 2), PN(1, 1), U8G_PIN_NONE); [/c] Als Parameter z.B. PN(1, 5) steht 1 für PORTB und 5 für den Pin. Diese Parameter
-
Thread
Problem mit LTC1290
, com ADDat ; (1) invertieren und andi ADDat,$3F ; (2) auf 6 Bit begrenzen [/avrasm] also je nach Datenrichtung muß es mal Port und mal Pin heißen
DatH = r20 ; AD-Wandler-Daten high ;*..................................... .equ SClk = 4 ; PortD Bit4 = Serial clock-Ausgang .equ Din = 2 ; PortB Bit2 = data input ADC = output AVR .equ Dout = 5 ; PortD Bit5 = data output ADC = input AVR .equ CS = 1 ; PortB Bit1 = /chip select .equ
-
Thread
Arduino NANO A6_A7
Al. K. schrieb im Beitrag #5302379: > Nach meinen suchen/finden ist intern Port PC0 -PC7 --> ADC0-ADC7(?!), Wo hast du das denn gefunden? Im Datenblatt nicht. Datenblatt Tabelle 14-6 "Port C Pins Alternate Functions" PC0 -> ADC0 PC1 -> ADC1 ... PC5 -> ADC5 PC6 -> /RESET
ADC6 und 7 gibt es nur als Bonus im TQFP-Gehäuse, weil der mehr Pins hat. Im DIL-Gehäuse fehlen sie. Nur im ATMegaxx8PB ("PB" hinten) sind sie als Port-PE2 und 3 auch als Digital-IO verfügbar. Den gibt es aber nicht im DIL-Gehäuse.
-
Thread
WD-Reset und Reset Pin erzeugen nicht das selbe wie Power off
closetime=3500,opentime=3000,closetime_fast=7000,opentime_fast=6000; uint8_t i2c_input,output=0; uint8_t paul=200; volatile uint8_t backup_mcusr; /* local defined variables*/ void code_init0(void) __attribute__ ((naked, used, section (".init3"))); /* !!! never call this
DDRB = 0xff; DDRC =0xff; DDRE |= (1<<Out_Runled)|(1<<Out_Sitz_senken)|(1<<DiagEnable_Steckdose_X5); //PORTE |=(1<<Status_Sitz_heben)|(1<<Status_Sitz_senken)|(1<<End_Sitz_unten)|(1<<D_PLUS); PORTG |=(1<<INPUT_10)|(1<<INPUT_11)|(1<<INPUT_12); PORTF |=(1<<INPUT_1); [/c] ISt das
-
Thread
AVR Attiny10 External Interrupt in C
00000000 00000000 000000ec 2**0 CONTENTS, READONLY 3 .note.gnu.avr.deviceinfo 0000003c 00000000 00000000 0000011c 2**2 CONTENTS, READONLY 4 .debug_aranges 00000028 00000000 00000000
) { 28: 1f 93 push r17 2a: 0f 93 push r16 2c: 0f b7 in r16, 0x3f ; 63 2e: 0f 93 push r16 30: 10 e0 ldi r17, 0x00 ; 0 32: 4f 93 push r20 34: 5f 93 push
-
Thread
EMS > ESP8266-12 WLAN-Modul
Und hier das zugehörige Layout.. - Ext. Port auf 16pin erweitert - GPIO15 auf Ext. Port gelegt - erfordert im Normalbetrieb einen Jumper zw. Ext.Port, Pin 3-4 - Dummy Solder Jumper für Buck-Konverter /SHDN
I can ship the PCBs to Belgium. Simply send me a private Msg with your complete address. 1 PCB: 2,90€ 2 PCBs: 5,50€ I bought the step-down converter from http://www.exp-tech.de/pololu-3-3v-300ma-step-down-spannungsregler-d24v3f3. The BOM is nearly complete - found that I missed the clamp
-
Thread
Interrupt während While-Loop
dem etwas wiederholt wird. Bei einem if wird nichts wiederholt. Ein if ist eine Auswahl aus 2 Möglickeiten b) Kann man generell nicht sagen. Ob man [c] if( Variable == 1 ) ....1 else if( Variable == 2 ) ....2 else if( Variable == 5 ) ....3 else ....4 [/C] schreibt, oder ob man da ein [C] switch( Variable ) { case 1: ....1 break; case 2: ....2 break; case 5: ....3 break;
-
Thread
Pollin LCD Displays
&= 0x08; if((data_temp) && (i == 0)) sbi(LCD_DATA_4_PORT,LCD_DATA_4_NR); else if((data_temp) && (i == 1)) sbi(LCD_DATA_5_PORT,LCD_DATA_5_NR); else if((data_temp) && (i == 2)) sbi(LCD_DATA_6_PORT,LCD_DATA_6_NR); else if((data_temp)
kein vernünftiges Datenblatt vorhanden ist ;) Versuch es mal so für KS066 1.) 500 ms warten 3.) 0x02 senden 3.) 0x02 senden 3.) 0x0C senden 5.) 0x0F senden 6.) 0x06 senden
-
Thread
Raspberry Pi & PCF8574 wird nicht erkannt
Da habe ich wohl hier 2 Pins vertauscht, der Aufbau war richtig. Ich habe sie testweise mal gewechselt und dann habe ich erneut kein Chip mehr angezeigt bekommen. Also SDA Pin 15 ist beim Pi an 3 und SCL, Pin 14 an Pin 5 beim
pcf8574Setup(PCF8574_2, 0x39); pcf8574Setup(PCF8574_3, 0x3A); ... digitalWrite(PCF8574_2 + 3, 1); würde dann den vierten IO-Pin des zweiten PCF8574A schalten >mit: >"digitalWrite(BASE_I2C + 7, 1);" >setzt
-
Thread
ATmega328PB nach Berührung Flash kaputt
. Im Vorgänger mit dem AT89C51CC03 waren es 20MHz mit 2*33pF.
dazu, den (eigentlich verbotenen) Zustand eines offenen Pins zu verhindern und diesen auf ein festes Potential zu ziehen. Um den worst-case zu simulieren, leg alle offenen Eingänge über 1 kOhm an VDD/2, bei einem 5 V-Controller also auf 2,5 V. Dann sind alle
-
Thread
STM32L431RC - Probleme mit Stromsensorenauswertung
(P6_green_GPIO_Port, P6_green_Pin, GPIO_PIN_RESET); //LED grün aus HAL_GPIO_WritePin(P6_red_GPIO_Port, P6_red_Pin, GPIO_PIN_SET); //LED rot an HAL_GPIO_WritePin(P6_blue_GPIO_Port
viel Spannung einem Inkrement entspricht, komme ich auf 3,3V/4096 Inkr = 0,806 mV / Inkrement. Da leuchtet quasi bei 5mA höchstens 2 Inkremente auf, das könnte zu wenig sein. Ich denke ganz ohne Verstärkung gehts nicht. Habt ihr da noch eine Idee?
-
Thread
Tasterabfrage nach Dannegger – plötzlich unplausible Resultate
#define LCD_DATA2_PORT LCD_PORT /**< port for 4bit data bit 2 */ #define LCD_DATA3_PORT LCD_PORT /**< port for 4bit data bit 3 */ #define LCD_DATA0_PIN 4 /**< pin for 4bit data bit 0 */ #define LCD_DATA1_PIN 5 /**< pin for 4bit data bit 1 */ #define LCD_DATA2_PIN 6 /**< pin for 4bit data bit 2 */ #define LCD_DATA3_PIN 7 /**< pin for 4bit data bit 3 */ #define
-
Thread
2 Stellige 7 Segment Anzeige
); // Set all pins A0-A5 HIGH PORTD &= ~(numbitmaskd); // Set D2-D5 and D6+D7 HIGH PORTD |= digbitmask; // deselect digit }[/c] Die Schleife musst du auf zwei Durchläufe reduzieren, die if-Bedingungen
würdest... Ausserdem fände ich es logischer die Zehnerstelle "Digit1" und die Einerstelle "Digit2" zu nennen... [c] const unsigned char digit_port_data[10] = { 0x3F, // 0 0x0C, // 1 0x5B, // 2 0x5E, // 3 0x6C, // 4 0x76, // 5 0x77, // 6 0x1C, // 7 0xFF, // 8 0xFE
-
Thread
Erstes Board: 7-Segment Anzeige
Ich benutze immer Kerkos (http://www.reichelt.de/?;ACTION=3;LA=2;GROUP=B353;GROUPID=3169;ARTICLE=9265;START=0;SORT=artnr;OFFSET=100;SID=28obSbJawQARwAAFmAEk08e15a1425d7e5d15447d3ed23365f81e) wobei die Abbildung nicht stimmt) die haben ein Raster von 5mm
Hallo, klar habe mit PortA müll geschrieben. Meinte PortC also den ADC rauslegen. Wäre z.B. eine erweiterung. Dann muss aber noch ein Kondensator zwischen ARef und GND (PIN 22). Und wenn möglich noch eine Fest-Induktivität
-
Thread
Warum sind STM32 I/Os auf 16 Bit kastriert?
, wo ein IO-Port keine 16 Bit hat sondern weniger, je nach Anzahl der Pins des uC-Gehäuses. Da alle Pins am uC Mehrfachbelegungen hat macht es keinen Sinn, einen 32bit IO-Port zu definieren, da die Wahrscheinlichkeit
ARMs sowieso nicht LPC810 - atomic 1 cycle wenn man 0 und 1 vorher vorhält: LDR R1, PIN0BASE ; R1=PIN0BASE=0xA0000000 MOVS R2, #0 MOVS R3, #1 STRB R2, [R1, #4] ; clear P0_4 STRB R3, [R1, #4] ; set P0_4
-
Thread
Primitiver Computer im Eigenbau
Wieso denn nur 3 pins? In dem Tutorial steht man braucht 4 pins.. Das mit der 4*4 Matrix musst du mir nochmal erklären. Soll ich jetzt Besipielsweise einen Taster an 2 Pins anschließen und das mit den anderen auch machen
passt das ja ganz gut... Ich habe mir überlegt statt dieser 4x4 Matrix was anderes zu machen: 4 pins werden benutzt und da werden die taster logisch angeschlossen Beispielsweise: Taste1 = PB0 Taste2 = PB1 Taste3 = PB0, PB1 Taste4 = PB2 Taste5 = PB0, PB2 usw. Wie wäre das? Den Quarz und die
-
Thread
AVR resetiert bei zu vielen LED's gleichzeitig (Spannungseinbruch)
. Also die PCx sind bei meiner Schaltung immer HI. Diese Reinhenfolge immer einhalten? 1.) PORT 2.) DDR
der Rest der Schaltung fast nur aus LED besteht :-) > Diese Reinhenfolge immer einhalten? > 1.) PORT > 2.) DDR In deinem Fall wäre es besser; ja Wenn der Eingang zum Ausgang wird sollte sichergestellt sein, dass die entsprechenden Pins garantiert auf 0 sind.
-
Thread
Arduino zu schwach für RC5??
. ich habe jetzt die ganze zeit gesucht und schon einiges rausgefunden: Der ATMEGA328 hat 6 Pins die mit PWM verwendet werden können, jeweils 2 teilen sich einen Timer/Counter Register: TCCR0B, TCCR1B, und TCCR2B. Die letzten 3 Bits des Registers sind der Vorteiler, damit kann ich also für die Anschlüsse OC1A, OC1B, OC2A, OC2B (Pins 9, 10, 11 und 3) eine 32KHz Frequenz modulieren. ich brauche aber 36KHZ. Dass wird in einem Beispiel so gemacht: [c] TCCR2A = _BV(WGM21) | _BV(COM2A0); TCCR2B = _BV(CS20); // 36kHz
-
Thread
LEDs an PIC ausglimmen lassen
************************ ORG 0x60 pwm RES 1 leds RES 8 led RES 1 loops RES 1 loops2 RES 1 PINWatch RES 1 ;0=B4; 1=B5; 2=B6; 3=B7; 4=B3; 5=B2; 6=B1; 7=B0 TKTZ1 RES 1 TKTZ2 RES 1 TKTZ3 RES 1 w_temp RES 1 status_temp RES 1 startPWM macro local done
****************************************************************** ;*** LED-Effekte für einzelne Pins A5LED bsf PORTB, 3 call Wait100 bsf PORTB, 2 bsf PORTB, 4 call Wait100 bcf PORTB, 2 bcf PORTB, 4 bsf PORTB, 1 bsf PORTB, 5 call Wait100 bcf
-
Thread
anfänger bei assembler
out1h ret out3h: ;N1 / Q2 = High sbi PORTB,2 ;Signal S2=Fahrt an Pin 4c rcall Takt01 rcall out1h ret out4h: ;N1 / Q3 = High sbi PORTB,3 ;Signal S3+S5=Fahrt an Pin 5c rcall Takt01 rcall out1h ret out5h: ;N1 / Q4 = High sbi PORTB,4 ;Textmodul=EIN an Pin 6c rcall Takt01 ;ohne Verzögerung
-
Thread
STM32 ADC und SPI Problem
Beitrag #4510718: > Ich denke hier habe ich schon das Möglichstes versucht (?): SPI liegt > auf PortA, ADC auf PortB und PortC. So wie ich das auf dem Foto sehe nutzt du für SPI PA5,6,7, das sind alles pins die auch als adc genutzt werden können, also mit an der ADC Peripherie hängen. Mach ein Pin-remapping auf die Pins B3,4,5 um weiter SPI1 nutzen zu können oder weich auf SPI2 oder 3 aus. Hauptsache weit weg vom adc und keine pins nutzen die damit geteilt werden. Reginald L. schrieb im Beitrag
-
Thread
7-Segment-Anzeigen mit gemischten Ports
2 - - C3,C4,D3,D2,D0 3 - - C3,C4,C5,D3,D0 Zehner - 0 - B4,B5,B7,B6,C0,C1 - 1 - B5,B7 - 2 - B4,B5,B6,C0,C2 - 3 - B4,B5,B7,B6,C2 - 4 - B5,B7,C1
Das sind bereits die Ports des ATMega48, um die LEDs der Segmente richtig anzusteuern. In der a-bis-g-Notation der Segmente wäre dies: C3,C4,C5,D3,D2,D1,D0 = a3,b3,c3,d3,e3,f3,g3 B4,B5,B7,B6,C0,C1,C2 = a2,b2,c2,d2,e2
-
Thread
Fragen zum 8255
ich gedacht habe, sind die Kontrollpins der 8255: /RD, /WR, A0, A1, /CS - die könnten auch über IO-Ports von µcontroller angesprochen werden, d.h. du steuerst vollkommen über die IO-Pins vom µC, dann könntest du die /CS Leitungen von mehreren 8255 auf einzelne IO-Pins anschließen und sie so selektieren
1. Initialisieren 2. Adresse Anlegen an A0 und A1 3. Daten an den Bus anlegen 4. Flanke setzen (CS) 5. Daten werden an dem ausgewählten Port ausgegeben und "latched" also bleiben solange an dem Port bis der Port geändert
-
Thread
Arduino 4-Pin Lüfter PWM
[c]void SetFans(uint16_t _level1, uint16_t _level2) { level1 = _level1; level2 = _level2; DDRD |= (1<<DDD5); // Set Pin19 (PortD5, OC1A) as output DDRD |= (1<<DDD4); // Set Pin18 (PortD4
Lass doch den Compiler die Registerzugriffe machen: [c]ICR1 = 640; OCR1A = level1; OCR1B = level2; [/c] rtfm, Jörg
-
Thread
Relais direkt an AVR
https://www.reichelt.at/Reedrelais/DIP-7212-D-5V/3/index.html?ACTION=3&LA=446&ARTICLE=27651&GROUPID=7617&artnr=DIP+7212-D+5V&SEARCH=Reedrelais%2B5V Relais mit Diode 5V 10mA, Kontakt 1A
Schottkydiode versehen und über PWM angesteuert. Über Oszi habe ich mir das Ergebnis angeschaut: A5W-K Miniatur Relais 140mW 5V ca. 30 mA Konakt "Ein" nach 2,7ms Maximum Strom nach 3,4ms Tastverhältnis: Relais "aus" bei D < 25% f >7kHz DS4E-S NAIS 200mW 5V ca. 40mA Konakt "Ein"
-
Thread
Einfach-Messdatenerfassung
, 16bit. 28pins. DSP. 250000 Mess/s. 8V,+-5V,+-10V AS8500 1 Kanal, 16bit. 16pins. PGA. 16000 Mess/s. LTC2383-16 1 Kanal, 16bit. 16 pins. 1MSps. LTC2451 1 Kanal, 16bit. 8 pins. 60 Mess/s. I2C LTC2452 1 Kanal
12bit ADC kostete 7.41 EUR. Leider waren dies alles 80 pin Gehäuse. Ein ADuC848BSZ8-5 hatte 10x 16bit ADC 1x 12bit DAC und 2x 16bit DAC für 6.40 EUR. Mit etwas suchen lässt sich wohl was Interessantes finden.
-
Thread
Bitte helft mir. Schon wieder AtMega16
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Cls Do Locate 1 , 1 Lcd "hello" Wait 200 Loop also nur das nötigste. es funzt einfach
@ holger habe ich $crystal = 1000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4 Initlcd .... passiert nichts. µC kaputt? aber warum?
-
Thread
Assemblerprogr. LCD ansteuerung will nicht funktionieren
RW, E .equ DBddr= ddrd ; datenrichtung ausgabe .equ RWddr= ddrc ; datenrichtung rs, rw, e .equ pine= 3 ;PD3 = Pin5 .equ pinrs= 5 ;PD2= Pin4 .device mega8 .include "m8def.inc" rjmp start ;****************Warteschleifen******************* ms2: ldi r24, low (125
könntest alles über einen Port senden. Z.B. Portd in dem Format: 7 6 5 4 3 2 1 0 EN RS RW D a t e n b y t e
-
Thread
Eigenentwicklung um 24 Bit Daten aus Datei parallel auszugeben
Beitrag #7178377: > Wie kann ich elegant 24 Bit Daten aus einer Datei einlegen und diese an > 24 Pins mit der gewünschten Geschwindigkeit parallel ausgeben? Mit einem 32 bit Prozessor, der auch 32 bit Ports hat, wie AVR32. Noch eleganter per zeitgebergetriggetem DMA. Ansonsten 3 8 bit ports
500kHz ist ziemlich lahm. Mit einem STM32F40x kannst du das in einen Timer packen und die Werte an 2-3 Ports ausgeben. Bei 168 Mhz Takt hast du 336 Takte... das reicht locker. Evtl. geht es sogar mit zwei DMAs, dann langweilt sich der MCU dabei sogar. schönen Gruß, Alex