-
Thread
AVR-UART master slave
beispiel slave mega168: ;uart init ldi temp, 0 sts UBRR0H, temp ldi temp, (F_CPU/16+Baudrate/2)/Baudrate-1; sts UBRR0L, temp ldi temp, (1<<RXEN0)|(1<<RXCIE0) ; RX aktivieren sts UCSR0B, temp ;************************ UART_RX_int: in regsave, sreg lds tempi, UDR0 inc WPos mov tempi2, WPos andi tempi2, RX_Buffer-1 cp tempi2, RPos breq buffer_full mov WPos, tempi2 clr tempi2 ldi XL, low(RXBUF) ldi XH, high(RXBUF) add XL, WPos adc XH, tempi2 st X, tempi buffer_full: out sreg, regsave reti
-
Thread
Optimale Maschinensprache
Mark B. schrieb im Beitrag #4877575: > Flieger schrieb: >> mov rx,ry kann auf OOO MAschinen 0 Takte brauchen > > Hm, wie das? Register renaming? https://en.wikipedia.org/wiki/Register_renaming https
dann noch an Unvorhersagbarem übrig bleibt lässt sich von bedingten Auswahlbefehlen abdecken, die z.B. {dst = cond ? src1 : src2;} implementieren, aber auch komplexere Formen wie {dst = cond ? src1 : src2+1;}
-
Thread
MSP430 GPS-Daten von UART0 Probleme
115200 Baud aus 1MHz erzeugen http://mspgcc.sourceforge.net/baudrate.html UBR11=0x00; UMCTL1=0x5B; // Modulation der Baudrate durch Korrekturfaktor genau 114942bps UCTL1 &= ~SWRST; // USART freigeben IE2 |= URXIE1; // TX- und RX-interrupts
EINT(); machen und danach noch explizit den entsprechenden Interrupt einschalten? Also diese Zeile z.B. IE2 |= URXIE1; // TX- und RX-interrupts anschalten Was hat das für einen Sinn? Heisst _EINT(); das ich einfach mal grundsätzlich Interrupts zulasse und danach läuft noch kein einziger
-
Thread
Das wieder aktuelles Thema Handy + AVR
'To use it with the software UART you must provide the channel Do 'Store in byte B = Inkey(#2) 'When the value > 0 we got something If B > 0 Then Print #1 , Chr(b) 'Print the character End If Loop Close #2
am PC2 7 (T2Out) - 2 (RX) 8 (R2In) - 3 (TX) 15 (GND) - 5 (GND) Wichtig: Kondensatoren am Max nicht vergessen...
-
Thread
RFM12 - Funkmodul
Jörg B. wrote: > Liegen J1 und J2 eigentlich "willkürlich" weit auseinander oder ist das > Rastermaß (wegen Steckbrett)? Die liegen auf 2,54 Raster, J3 auch. J4 hab ich mittig. Leider ist der breiteste
2.14dB. Die AN1603-433 hat einen Gewinn von 0.5dBi. Damit hat sie einen Verlust gegenüber einem Dipol von 1.64dB. Was für diese Chipantennen ein ganz ordentlicher Wert ist. 3. Pattern bezeichnet das Abstrahldiagramm
-
Thread
Webserver ATmega32/644DIP ENC28J60
Die beiden LEDs blinken nicht, nicht gut! LED2 muß bei einer Verbindung zum Router leuchten. LED3 zeigt RX/TX Daten an.
Hallo, Die Packete werden immer nur nacheinander gesendet. Habe ja nur 2kB SRAM. Gruß Uli
-
Thread
Projekt : GPS Tracker
DO35-10 diode 1 IC1 ATMEGA32L-8AU MEGA32-A TQFP44 atmel 1 IC2 SCHA2B300 SCHA2B300 SCHA2B300 selfmade 1 IC3 LF33CV LF33CV TO220H linear 1 JP1 AKKU PINHD-1X2 1X02 pinhead 1 JP3
wurde. Im Schaltplan ist aber ein atmega32 eingezeichnet: http://www.mikrocontroller.net/wikifiles/b/b5/GLogger_schalt_v2.png Sind die beiden Controller hier austauschbar? Julian
-
Thread
Logarex eHZ liefert keine zuverlässigen Daten mit IR-Lesekopf
M-^@7^@4^@4^A ^H1!^@^H0M-pM-^@M-^BB^PR^@M-^BM-^@M-@pM-^P^@M-i^X^AM-Cg7^@8'.02^H ^P^F^@^F^F0J^B ^H^@/LOG5LK13BE803039 1-0:96.1.0*2^AL ^@M-dz>M-^@^F4^@6^@8^LHh ` :0.8.0^H^BM-#0^AM-^PM-^BM-^H^B:@M- M-^ZM-^^M-^@^B M-:M-B^@ ^F^@V^B) ^@M-^@6D:.^@*^@^@$^@2#4^AM-&f ^PX^YM-$ 0^@ ^N *TTB 6M-
geworden. > > Hmm, aus 2 wurde r > > Zeichen ASCII (hex) (binär) > 2 0x32 0b00110010 > r 0x72 0b01110010 > > UART sendet LSB first, also von links nach rechts. D.h. die vorletzte > Null wurde
-
Thread
PIN Diode TX/RX Switch für 144MHz / 60W
Beitrag #6658165: > Über die Widerstände fallen ca. 11.4V bei 13.6V Versorgung ab, also über > die RX-Diode fällt im TX Betrieb eine Spannung von ca. 2.2V ab. Nachtrag: Ich meine natürlich, dass die 2.2V über beide Dioden abfallen. Also ca. 1V pro Diode. Das ist aber viel zu hoch oder? Das wären ca
aufgebaut. Die TF davon seht ihr im Anhang. Ich habe > das mal simuliert und da sollte bei 220MHz die -3dB Grenzfrequenz liegen > und das tut sie auch. Sollte eigentlich passen oder? Ja, ist OK. Die Rückflussdämpfung muss im 2m Band am größten sein. Simon D. schrieb im Beitrag #6658165: > +) Der RX-Path
-
Thread
USART Problem. Es werden nicht die richtigen Daten übertragen
." Also mit dem 1K Ohm widerstand an denn TX Pin des Atmegas und der 2,2 k Ohm geht an GND. Aber wo muss jetzt der RX Anschluss ran? Zwischen die beiden Widerstände?
vollen Schutz gegen Verpolung. [code] Prolific Kabel AVR 2,2k RxD o-------------[===]-------------o TxD 2,2k TxD o-------------[===]-------------o Rxd 100 Ohm GND o-------------[===]-------------o GND [code] Die
-
Thread
LED von VB-Programm aus dimmen
im falschen Format. Hier ein Ausschnitt aus dem C-Programm: [c] // Receive new color values case 2: if(msgCNT == 0) { redValue = rxData; } else if(msgCNT == 1) { greenValue = rxData; } else if(msgCNT == 2) { blueValue = rxData; setNewColor
the function code case 1: if(rxData == '1') { // The following payload contains the new color values rxCNT = 2; msgCNT = 0; } else if(rxData == 2) { // The following payload
-
Thread
Empfehlung Fotoapparat
ersetzen, bestes Beispiel Olympus mit "halben" Sensor. Klar hatten die dann die stärkeren Objektive z.B. das 35-100 / F2 im Gegensatz zum 70-200 / F2,8 oder das 150 / F2 im Gegensatz zum 300 / F2,8 ABER weder waren die gleich teuer noch leichter darüber hinaus waren sie vielfach teurer und die
Joachim B. schrieb im Beitrag #5252124: > z.B. das 35-100 F2 im Gegensatz zum 70-200 F2,8 Wenn Du tatsächlich die Bildwirkung vergleichen willst, genügt Deine eine Blende Unterschied zwischen den Objektiven
-
Thread
Ethernet über 2adrige Telefonleitung. Idee: Billige Powerline Adapter für z.B. 24V umbauen. Mögli
Sie laufen großartig!! Hab die vorhandenen Telefonkabel genutzt - einfach zwei Litzen im Büro auf a2 und b2 geklemmt - im Wohnzimmer das gleiche und einen TAE-N Stecker besorgt, wo a2 und b2 belegt sind... So kann ich schön Lan und Telefon über eine Dose machen... Man muss nur aufpassen, das man erst
die G.hn Wave 2 Geräte gibt es inzwischen in der Bucht. Kostenfaktor - unter 250€ z.B. so eins: https://www.ebay.de/itm/2-wire-G-hn-Wave2-Phoneline-Bridge-1-Gbit-s-Ethernet-uber-Telefonkabel/383771291615 Nicht
-
Thread
Hausbus über RS232 möglich?
Haupt µC TX -> RX µC 1 TX -> RX µC 2 TX -> RX µC 3 TX -> RX Haupt µC ... Das kommt mir von der Sache auch nicht blöd vor, die Pakete würden allerdings immer durch den ganzen Bus marschieren... Gruß
>> Natürlich könnten man auch richtig "rumbussen". Also >> Haupt µC TX -> RX µC 1 TX -> RX µC 2 TX -> RX µC 3 TX -> RX Haupt µC und wie reagiert dein System darauf wenn ein uC hängt ... ? Watchdog am uC ... nützt auch nicht bei einem defekt z.B. ein Leitungstreiber hat
-
Thread
Alles Rund um den MEDION LIFE P89626 NAS
/i-data/6764ac2f/admin/mtd0.backup + cat /i-data/6764ac2f/admin/mtd0.backup.md5 52b6007cc6fc4d51d263c825bb7ce6b6 /i-data/6764ac2f/admin/mtd0.backup + ./nanddump -nf /i-data/6764ac2f/admin/mtd0.backup.oob /dev/mtd0
/6764ac2f/Debian/e-data/3180-79C5 + rm -r /i-data/6764ac2f/Debian/e-data/3180-79C5 + umount /i-data/6764ac2f/Debian/e-data/c64017f9-b19d-45ff-b6ea-9e13d18f1f81 + rm -r /i-data/6764ac2f/Debian/e-data/c64017f9
-
Thread
Ostern- Vielleicht mal wieder Detektorempfänger ? Gesperrt
Silber (0.0159 Ω•mm²/m) liegt bei 8%, der Kondensator trägt 1/5 zu Q bei, damit könnten das knapp 2% sein, also unter 0.2dB. Da ist noch Luft nach oben.
schon wieder auf dem ungünstigen absteigenden Ast der Q-Kurve: LW-Bereich: 1200-4500 pF, Q ≈ 190, B=0.9...1.4 kHz zunehmend MW-Bereich: 30- 365 pF, Q ≈ 230...175 abnehmend, B=2.2...9 kHz zunehmend Im Vergleich mit den 52 Windungen ist die Güte nicht höher. Als Gründe vermute ich, dass die 2x0.2mm
-
Thread
UART Frage betreffs startbit stopbit etc.
taschenrechner herstellen. Ich hätte dazu zwei Fragen: 1. Ich brauche: 1 startbit, 8 databits, no parity, 2 stopbits, 9600 baud wie stell ich das ein Ich weis nur wie das mit der Baudrate geht. 2. ich muss z.B. laut protokoll 13h senden was kann damit gemeint sein? nur 13 13 und h oder steht das
Bitte etwas genauer: 1. die LED werden ausgeschaltet 2. bei Empfang irgendeines Zeichens geht LED 1 an 3. bei Empfang "0x16" LED 2 - aber "0x16" kannst Du wahrscheinlich nicht senden. Versuche, den AVR an den PC anzuschliessen und arbeite z. B. mit
-
Thread
Hackbarer(?) 21 EUR Quadcopter
B. B. schrieb im Beitrag #3409854: > Pin1: P2.CS > Pin2: P2.CLK > Pin3: P2.DATA Seltsam... das I2C Interface ist nämlich mit Daten und Takt auch am RF Modul. Hast du die komplette Anschlussbelegung
Bei mir steht : CN2-S20 315GD2234 B oder D oder 8 0592F
-
Thread
ESP12F: Generelle Probleme bei der Einrichtung
USB-TTL-Adapter sollte also mit 3,3V-Pegeln arbeiten. Ein 5V AVR kommt mit den 3,3V vom ESP klar (TX-ESP - > RX-AVR), für den RX des ESP muß man da einen Pegelwandler bemühen, im einfachsten Fall ein Spannungsteiler (RX-ESP über 2,2k an GND, RX-ESP über 1,6k an TX-AVR z. B.). Den Teiler nicht zu hochohmig, sonst
definitiv geeignet sein sollten: https://www.amazon.de/tinxi-FT232RL-Converter-Adapter-Arduino/dp/B01C2P9GD2/ https://www.amazon.de/USB-TTL-Konverter-Modul-mit-eingebautem-CP2102/dp/B00AFRXKFU/ https://www.amazon.de/USB-TTL-Konverter-Modul-mit-eingebautem-CP2102/dp/B008RF73CS/ Das erste Modell
-
Thread
CAN-BUS mit dsPIC30F6014
,#2 49: C1RX0CONbits.RXFUL = 0x0; // receive full status (buffer open = 0) 000286 A9E38E bclr.b C1RX0CONbits,#7 50: } 000288 FA8000 ulnk 51:
data = *((unsigned char *)&C1RX0B1+i); 0002F0 78001E mov.w [w14],w0 0002F2 780080 mov.w w0,w1 0002F4 90001E mov.w [w14+2],w0 0002F6 408100 add.w w1,w0,w2 0002F8 78001E mov.w [w14],w0 0002FA 780080
-
Thread
Problem mit ADUM1201 und FT232
B. schrieb im Beitrag #7925319: > Dort sind wir doch gar nicht! U2 und U3! Nochmal, U3 ist an der ganzen USB-Geschichte nicht beteiligt. Die Jumper JP1 und JP2 sind OFFEN !!! Demzufolge ist auch das
verbinden DARF, ohne dass es zu elektrischen Fehlern kommt. Was soll diese künstliche Verknickelung von RX_USB, TX_USB, RX_LED und TX_LED? Falls du D1, D2 und U2 auf die passende Höhe zu U4 bringst, kannst du dir einen Haufen davon sparen und der Plan wird deutlich übersichtlicher. J1, J2 und J3 hängen
-
Thread
MSP430F1611: UART RX Interrupt löst nicht aus?
18 /* 0xFFF2 USART 0 Receive, I2C tx/rx */[/c] 4. Funktioniert denn das Demo-Programm ( fet140_uart01_09600_2.c ) von TI in *unveränderter* Form? 5. Vor der Initialisierung der USART sollte man das SWRST Bit
Ok, also msp430x16x.h sagt folgendes: #define USART0RX_VECTOR 18 /* 0xFFF2 USART 0 Receive, I2C tx/rx */ #define UART0RX_VECTOR USART0RX_VECTOR d.h. UART0RX_VECTOR ist korrekt. Und auch die interrupt(...)-Schreibweise funktioniert bei mir,
-
Thread
RFM12: Erfahrungen
darf alles Folgende natürlich nicht zu lange dauern, da er sonst zu früh "zubeisst". Auch sind die 2s nicht besonders genau. Laut Datenblatt ~2.1s - 2.2s. Gruß Björn
rx_LBD_CMD 0xC200 /* Low Battery Detector and Microcontroller Clock Divider Command Threshold Voltage: 2,2 V Clock Output Frequency: 1 MHz */ #define rx_AFC_CMD 0xC6F2
-
Thread
Bitcoin Mining Grafikkarte?
> Habe hier einfach mal die Werte von einer älteren AMD-Graka aus der > Radeon-RX-Reihe eingetragen: https://www.cryptocompare.com/mining/calculator/eth?HashingPower=14&HashingUnit=MH%2Fs&PowerConsumption=30&CostPerkWh=0.30&MiningPoolFee=1 > Welche Hash-Rate die eigene Graka erzeut
geholt und sitzen sie nun auf zwei > getrennten Mainboards? Angekommen sind die beiden Gigabyte RX 570 Gaming 4G Doch damit erreiche ich lächerliche 7.7 Mh/s bei 70W und auf einem älteren Mainboard sogar nur 4.2 Mh/s. Liegt das an den Arbeitsspeicher? Denn verwunderlich ist, dass er nur 4GB
-
Thread
USART wird langsamer und verliert Daten
Falls man denn einen Buffer verwenden will, nimmt man einen ringbuffer, der eine Groesse von 2^N, zB 32 byte. Die Adressierung wird dann zu zB (MyPtr++) && 0x1F , dh die hintersten 5 bit. Keine Bereichsabfrage indem Sinne.
Empfangseinheit. Daher habe ich nur 1 USART Interrupt aktiv, welchen ich auch verwende. EDIT: Es ist uC1 RX <-> uC2 TX uC1 TX <-> uC2 RX uC2 <-> RS232 genauso EDIT ENDE Nosnibor schrieb im Beitrag #4150997: > Kann es denn überhaupt gut gehen, ohne Pause durch so eine > UART-Kette zu > senden?
-
Thread
Pointer in STRUCT wollen einfach nicht funktionieren! (AVR-GCC)
uint16_t current_value = modbus_frame->data; > *current_value++ = 1; > *current_value++ = 2; > free(modbus_frame->data); > [/c] Ja dann habe ich mein Problem doch wieder oder? Ich muss eine "doppelte" Speicherreservierung machen, 1. im Struct und danach 2. im "Modbus_RX_handler(void
irgendwann meine Variable ins "NICHTS" pointe.. :D Zur Fragmentierung.. Wenn ich nun aber wirklich nur 2 Funktionen habe welche Speicher dynamisch alloziieren, dann kann ich das doch einfach Überschauen.. also ich meine z.B. - 15 Byte in "Modbus_RX_handler(void)" alloziieren (diese 15 Bytes werden irgendwann
-
Thread
RS32 Kabel für alte Stickmaschine
[pre] SUB25 SUB9 RxD 3 --- 3 TxD TxD 2 --- 2 RxD RTS 4 --- 8 CTS CTS 5 --- 7 RTS DTR 20 --- 6 DSR DSR 6 --- 4 DTR GND 7 --- 5 GND [/pre] wäre mein nächster Versuch.
Heinz B. schrieb im Beitrag #7961796: > Manche vertauschen da intern wiederum RX und TX. Yep. Hatte soeben versucht, die Breakoutbox im gezeigten Bild für den TO "umzustecken". Da fiel mir auf, dass "2"
-
Thread
HEX String aufschlüsseln/auswerten
drehzahl = (((rxBuf[2] & 0x0F) << 8) | (rxBuf[3])) / 2; Serial.println( drehzahl ); und teste, ob die Werte plausibel sind.
Dirk B. schrieb im Beitrag #4028441: > Durch 2 bleiben 2048. Für mein Gefühl ist das ein bisschen wenig. Da hast Du verdammt recht. Aber was soll ich anderes mit der Information "Länge 12" anfangen? Da
-
Thread
Probleme mit MCP25625
MCP2515_INT); SET(MCP2515_INT); #endif #ifdef RXnBF_FUNKTION SET_INPUT(MCP2515_RX0BF); SET_INPUT(MCP2515_RX1BF); SET(MCP2515_RX0BF); SET(MCP2515_RX1BF); // Aktivieren der Pin-Funktionen fuer RX0BF und RX1BF mcp2515_write_register(BFPCTRL, (1<<B0BFE)|(1<<B1BFE)|(1<<B0BFM)|(1<<B1BFM)); #else #ifdef MCP2515_TRANSCEIVER_SLEEP // activate the pin RX1BF as GPIO which is connected // to RS of MCP2551 and set it to 0 mcp2515_write_register
-
Thread
CP/M auf ATmega88
. Mit "sfdisk -c /dev/sdb 2 52" kann man z.B. die Partitions-ID von Partition 2 auf 52 einstellen.
(PC=PC+2+offset) do_op_DJNZ: ; decremt B, jump B=0 lds temp, z_b ; B in temp dec temp ; temp decrementieren breq do_op_DJNZ_Z ; bei B=0 sts z_b, temp ; temp in B subi opl, 0x80
-
Thread
Hilfe bei #Define
=0); Daten1 = RxBufferLesen(); while(RxBufferStatus()==0); Daten2 = RxBufferLesen(); while(RxBufferStatus()==0); Daten3 = RxBufferLesen(); while(RxBufferStatus()==0); Daten4 = RxBufferLesen();
= RxBufferLesen(); > while(RxBufferStatus()==0); > Daten1 = RxBufferLesen(); > while(RxBufferStatus()==0); > Daten2 = RxBufferLesen(); > while(RxBufferStatus()==0); > Daten3 = RxBufferLesen
-
Thread
Suche Infos zum Eigenbau Preselector
einen Filter > *nachbauen*, nämlich den FuKoWa-Filter … Ist aber mit Signaldämpfungen von ca. 2…7dB im Durchgangsbereich (mit der Frequenz des Bandes zunehmend) für einen RX nicht gerade optimal. Da sind mir Dämpfungswerte unter 1dB lieber. Aber mach mal, irgendwas geht schon durch. Soll keine
Old schrieb im Beitrag #7303478: > Ist aber mit Signaldämpfungen von ca. 2…7dB im Durchgangsbereich (mit > der Frequenz des Bandes zunehmend) für einen RX nicht gerade optimal. Da > sind mir Dämpfungswerte unter 1dB lieber. Deshalb hat der Autor auch einen Verstärker eingeplant
-
Thread
konventioneller Konverter USB-UART ohne Funktion
Verbindung bis zu diesen Pins funktioniert. Ich weiß aber immer noch nicht, ob 1. die Baudrate stimmt, 2. welche Pegel diese Pins verwenden und 3. welcher davon der RX und der TX ist. All das zeigt mir dann das Oszi. Und so ist die Inbetriebnahme spätestens nach einer halben Stunde erledigt. Karl
Karl B. schrieb im Beitrag #7959551: > Habe übrigens auf den Notebook gerade Win 11 25H2 installiert. Selbst Schuld. Das macht sicher nix besser.
-
Thread
MSP430G2553 als Schnittstelle zwischen MODBUS und I2C
= UCA0RXBUF; //Beim Auslesen wird das Flag UCA0RXIFG gelöscht, aber nicht der UCA0RXBUF if(RX_BYTE == 0x01) //Toggle green LED if "B" RXed { P1OUT ^= BIT6; // light up P1.6 LED on RX }*/ //IFG2 &= ~UCA0RXIFG; // Clear RX flag } /* int uart_putchar
UCA0RXBUF; //Beim Auslesen wird das Flag UCA0RXIFG gelöscht, aber nicht der UCA0RXBUF geleert if(RX_BYTE == 0x01) //Toggle green LED if "B" RXed { P1OUT ^= BIT6; // light up P1.6 LED on RX }*/ //IFG2 &= ~UCA0RXIFG; // Clear RX flag } [/c] P.S.Die ISR
-
Thread
sprintf mehrfach
.Frame ) || ( MsgBuf_TX1.MsgID != MsgBuf_RX2.MsgID ) || ( MsgBuf_TX1.DataA != MsgBuf_RX2.DataA ) || ( MsgBuf_TX1.DataB != MsgBuf_RX2.DataB ) ) { while ( 1 ); } /* Everything is correct, reset buffer */ MsgBuf_RX2
.MsgID ) || ( MsgBuf_TX1.DataA != MsgBuf_RX2.DataA ) || ( MsgBuf_TX1.DataB != MsgBuf_RX2.DataB ) ) { while ( 1 ); } /* Everything is correct, reset buffer */ MsgBuf_RX2.Frame = 0x0; MsgBuf_RX2.MsgID = 0x0;
-
Thread
Übersicht Controller und Einstiegskosten (Debugger, Compiler)?
Daniel schrieb im Beitrag #2392154: > RX610, gcc -O2, KPIT: 105,00 µs (mit FPU on) > Cortex-M3, gcc -O2, Codesourcery: 79,50 µs > RX610, gcc -O2, KPIT: 24,90 µs (mit FPU on) > Cortex-M3, armcc, -O2,
Hardware-FPU? Oder was soll das "FPU on" heissen? Richtig, immer vergesse ich die Hälfte hier noch RX610 mit -nofpu Option hinzugefügt: Mit 64 Bit Double: M32C, gcc -O2, KPIT: 1305,90 µs RX610, gcc -O2, KPIT: 222,75 µs -m64Bit-doubles -nofpu RX610, gcc -O2,
-
Thread
Hargassner Pelletheizung Betriebsdatenerfassung
etwa 1500ms: 2u01ffff12825103 1i117b05 2u10b89700c60a0c 1i106b03 2u0f668711710305 1i106b03 2u04ffff09c2ef0c 1i107b04 2u1068ae07c04701 1i106b03 2u0566c502b1500a 1i106b03 2u06d6b60f668a0a 1i107b04 2u1068be1366b605
Martin Z. schrieb im Beitrag #7273684: > > [code] > 2u01ffff12825103 > 1i117b05 > 2u10b89700c60a0c > 1i106b03 > 2u0f668711710305 > 1i106b03 > 2u04ffff09c2ef0c > 1i107b04 > 2u1068ae07c04701 > 1i106b03 > 2u0566c502b1500a > 1i106b03 > 2u06d6b60f668a0a
-
Thread
ATmega328PB: UART(MC) empfängt falsche Daten
&=~(1<<FE0);/*kein_Frame_-_Fehler*/ UCSR0A&=~(1<<DOR0);/*kein_Data_-_Overrun*/ UCSR0A&=~(1<<U2X0);/*keine_doppelte_Uebertragungsgeschwindigkeit*/ UCSR0A&=~(1<<MPCM0);/*keine_Multi_-_Prozessor_-_Kommunikation*/ UCSR0B|=(1<<RXCIE0);/*RX_-_Interrupt*/ UCSR0B&=~(1<<TXCIE0);/*kein_TX_-_Interrupt*/ UCSR0B&=~(1<<UDRIE0);/*kein_UDRE_-_Interrupt*/ UCSR0B|=(1<<RXEN0);/*Receiver*/ UCSR0B&=~(1<<TXEN0);/*kein_Transmitter*/ UCSR0B&=~(1<<UCSZ02);/*data_bit=8->[2:0]=011*/ UCSR0B&=~(1<<RXB80);/*kein_
-
Thread
AVR-ISR Assembler ohne Flags zu benutzen
Frage ;-) Meine Rahmenbedingungen wären (meiner jetzigen Implementierung folgend): [pre] - ein 2^n Ringpuffer -> ein uint8_t Lese-Index -> ein uint8_t Schreib-Index -> ein uint8_t[2^n]-Array für die Daten - die ISR, die den FIFO-Teil enthält (z.B.: ein UART-RX-Interrupt) - von C aus
Beitrag #5041126: > Meine Rahmenbedingungen wären (meiner jetzigen Implementierung > folgend):- ein 2^n Ringpuffer > -> ein uint8_t Lese-Index > -> ein uint8_t Schreib-Index > -> ein uint8_t[2^n]-Array für die Daten > - die ISR, die den FIFO-Teil enthält (z.B.: ein UART-RX-Interrupt) > - von
-
Thread
STM32Cube HAL UART Einstieg
das nach der Konfiguration in Gang zu stoßen reicht ein Aufruf von: [code]HAL_UART_Receive_DMA(&huart2, uart_rx_buffer, UART_RX_BUFFER_SIZE);[/code] Durch Auslesen des DMA_CNDTRx Registers lässt sich die Position des zuletzt empfangenen Datenbytes im Buffer bestimmen (Buffergröße minus DMA_CNDTR, da
wird: [code]// RBUF_modOptimized -> Modulo Operator optimiert für Cortex-M0 und kleine Werte uart_rx_ringbuffer.head = RBUF_modOptimized(UART_RX_BUFFER_SIZE - hdma_usart2_rx.Instance->CNDTR, UART_RX_BUFFER_SIZE); [...] int32_t available = RBUF_getReadableSize(&uart_rx_ringbuffer); [...] // Wenn
-
Thread
stm32f411 USART2 will nicht wie er soll
[c] extern volatile uint8_t rx_buff[]; extern volatile uint8_t rx_buff_ct; void USART2_IRQHandler_kk(void) { rx_buff[rx_buff_ct++]=USART2->DR; USART2->CR1 &= ~USART_CR1_RE; USART2->CR1 |= USART_CR1_RE;// //_delay_us(15); if(rx_buff_ct==7) { rx_buff_ct=0; lcd_goto(15,1);// lcd_int2(rx_buff[0]);// lcd_write(" "); lcd_int2(rx_buff[1]);// lcd_write(" "); lcd_int2(rx_buff[2]);// lcd_write(" "); lcd_int2(rx_buff[
-
Thread
Zabex Ohmmeter mit Atmega 88 Funktion ?
Habe jetzt alles rausgenommen was nicht notwendig ist: [c] ADC_Wert_2 = ADC(2) # mit Messung R while True: Nenner = 65536 - ADC_Wert_2.read_u16() # 16 Bit Zaehler = ADC_Wert_2.read_u16() * 10 # Referenz R 10K Rx = Zaehler / Nenner print('ADC2:', ADC_Wert_2.read_u16()) print('Nenner: ', Nenner) print('Zaehler ', Zaehler) print('Rx: ', Rx) [/c] Damit bekomme ich diese Werte angezeigt: bei Rf 8,2 kOhm ADC2: 25580 Nenner:
-
Thread
DCF 77
empfangen stellen der Uhr nach DCF77 Buffer { //Berechnung der Minuten BCD to HEX mm = rx_buffer->Min-((rx_buffer->Min/16)*6); //Berechnung der Stunden BCD to HEX hh = rx_buffer->Hour-((rx_buffer->Hour/16)*6); //Berechnung des Tages BCD to HEX day= rx_buffer->Day-((rx_buffer->Day/16)*6); //Berechnung des Monats BCD to HEX mon= rx_buffer->Month-((rx_buffer->Month/16)*6); //Berechnung des Jahres BCD to HEX year= 2000 + rx_buffer->Year-((rx_buffer->Year/16)*6); //Sekunden werden auf 0 zurückgesetzt ss = 0;
-
Thread
GTP I/Os im FPGA noch abänderbar?
mir gerade an Blicke da noch nicht ganz durch. [c] //PHY //A7 //MGT // Soll? TX0_3_N B11 RXP0 R3N TX0_0_P D14 RXP1 R0P TX0_1_P B13 RXP2 R1P TX0_2_P D12 RXP3 R2P //PHY //A7 //MGT // Soll? RX0_3_P B7 TXP0 R3N RX0_2_N D8 TXP1 R0P RX0_0_P B9 TXP2 R1P RX0_1
C8 TXN1 T2P RX0_0_N A9 TXN2 T0N RX0_1_P C10 TXN3 T1P [/c]
-
Thread
Kommunikation zwischen 2 MC
angeschlossen kann und die Bezeichnung "Universal Serial Bus" ist technologisch gesehen falsch! I2C ist ein Bussystem, das singlewire (bspw. für DS18B20) ist ein Bussystem. UART ist es nicht. Pascal G. schrieb im Beitrag #8055613: > I2c werde ich später sicherlich auch mal noch behandeln. > Die
realtiv cool und werde mir das so merken. Wichtig hier ist, dass die Anschlußpins der ATmegas für RxD und TxD über kreuz angeschlossen werden müssen: Pin2 (RxD) <=> Pin3 (TxD) und Pin3 (TxD) <=> Pin2 (RxD)
-
Thread
Welcher SDR?
fernempfangsradio.de/dateien/Baumappe%20HarzburgVer1.43.pdf Ausserdem taugt der eingesetzte SI307-2 nicht viel. Aufgrund dieses PLL Schaltkreises ist der RX nicht kontinuierlich durchstimmbar, mehr dazu hier http://www.elexs.de/clock5.htm Mein næchster SDR wird DDS gesteuert sein. Ein SI570 ist
für Normalos bezahlbar sein soll. Dafür haben die 'richtigen' SDR zusätzliche Eigenschaften, z.B. der RSP01A von SDRplay.com einen Empfangsbereich von 1 kHz bis 2 GHz oder eine Darstellungsbandbreite bis 10 MHz und das zu einem Preis, den sich auch Schüler leisten können.
-
Thread
Alte CB Funk Heimstation RX erweitern mit VFO Infos gesucht
Ralph B. schrieb im Beitrag #7375393: > F1 F2 im oberen Schaltbildbereich soll wohl das SSB Filter > darstellen. F1,2 ist die 1. ZF bei 10,7MHz. Die Bandbreite beim Royce 1-624 beträgt 280kHz, sollte bei
Hobby B. schrieb im Beitrag #7375697: > ja es geht hier nur um RX. Wie es oben im Eingangs Thread ja steht hat > das Gerät 12 AM und 12 FM und soll nun SSB und CW erweitert werden für > RX. > Mit einen
-
Thread
GPS-MS1 E Inbetriebnahme-Erfahrungen UPDATE µ-Blox (u-Blox
GPGSA,A,1,,,,,,,,,,,,,0.0,0.0,0.0*30 $GPGSV,3,1,12,30,89,000,41,16,64,000,,20,47,000,,14,41,000,*7B $GPGSV,3,2,12,01,30,000,,03,27,000,,06,23,000,,22,17,000,*7E $GPGSV,3,3,12,11,11,000,,27,08,000,,25,07,000,,08,06,000,*79 $GPRMC,225321.160,V,0000.0000,N,00000.0000,E,,,051104,,*17 $GPVTG,,T,,M,,
mit nem Spannungsteiler GND - 2kOhm - Rx(0V/3,33V) - 1kOhm - Max232(0V/5V) versehen wurde und Transmitterseitig über 2 nacheinandergeschaltete Emitterschaltungen angesteuert wird. Der ST3232CN den ich hier hab tut nicht (mehr), sonst
-
Thread
Projekt: SerialComCNC Serielles Frontend für CNC GRBL mit ATMega
1.txt=")==0) RxD('Y'); if(strcmp(line,"2.txt=")==0) RxD('Z'); if(strcmp(line,"3.txt=")==0) RxD('F'); …. Eine feine Sache deine zweite Schnittstelle Gruß Wolfgang
T und die Werkzeug NR zB. T2 Gruß Wolfgang
-
Thread
Daten in Struct zuordnen und ins EEPROM speichern
struct zuordnen und zuweisen und abspeichern" steht. mein Buffer ist [8] groß wenn ich jetzt z.b die Befehls-ID extrahieren möchte dann mache ich das so [c] uint16_t get_adr (void) { uint16_t ui16Temp; ui16Temp = ucRxBuffer [1]; ui16Temp <<= 8; ui16Temp += ucRxBuffer [2];
und des Wertes aus dem RxBuffer [c] uint16_t get_adr (void) { uint16_t ui16Temp; ui16Temp = ucRxBuffer [1]; ui16Temp <<= 8; ui16Temp += ucRxBuffer [2]; return ui16Temp; } uint64_t get_val