-
Thread
RFM12b ideale Konfiguration
9820 mp=0, m=2, fdev=(m+1)*15kHz=45kHz p=0, Relative Output Power=0dB ---transmit------------------------------------------------------------------------ 8098 1. Configuration Setting el=1 TX
13. Transmitter Register Write Command ... b8aa dummy byte 13. Transmitter Register Write Command b8aa dummy byte 13. Transmitter Register Write Command 8219 2. Power Management et=0, TX abschalten es=1, Turns on the
-
Thread
Peinliche Frage zu C-Grundlagen
int inpos=0; int outpos=0; } buff_t; // 3 Instanzen von buff_t (Daten) buff_t buffer1, buffer2, buffer3; // hier die Functionen void add(buff_t *b, char ch) { b->buffer[b->inpos=(b->inpos+1)%BUFSIZ]; } char read(buff_t *b) { return b->buffer[b->outpos=(b->outpos+1)%BUFSIZ]; } int full(buff_t
schreibst, dass du in Objektorientierter Programmierung firm bist: Das hier buff_t buffer1, buffer2, buffer3; sind 3 'Objekte' vom Typ buff_t Das hier void add(buff_t *b, char ch) { b->buffer[b->inpos=(b->inpos+1)%BUFSIZ]; } char read(buff_t *b) { return b->buffer[b->outpos=(b->outpos+1)%BUFSIZ
-
Thread
ISP Bootloader über USART bei STM32 funktioniert nicht
Schnittstelle USART1 über einen MAX3232CSE mit einem herkömmlichen DB9 Stecker verbunden ist. Dabei ist PIN2 des Steckers (über den MAX3232) mit PA10 (RX) und Pin3 mit PA9 (TX) verbunden. Nach meinem Verständnis des Handbuchs sollten also damit die Vorraussetzungen gegeben sein, den Bootloader über USART1
messe V+=6V und V-=-6V. ich denke das sollte soweit ok sein. Ich habe gelesen, dass es auf der TX-Leitung einen sog. Ruhepegel gibt, solange nichts gesendet wird. Dieser sollte zwischen -3V und -15V liegen. Das konnte ich auch an einigen PCs verifizieren, mein STM32 Board hat allerdings nur -2.7V
-
Thread
F1-Drehzahlanzeige selber programmieren
PIN für Gang N & R //Bremsen #define B PA7 //PIN für Fußbremse #define HB PA6 //PIN für Handbremse int main(void) { DDRB = 0b11111011; //Ausgang B0-B1, B3-B7; außer Eingang für Drehzahlsignal (PB2) DDRC =
] >> 8; } void Segmentanzeige (uint8_t Zeichen) { const uint16_t Segment [9] = { 0b1001000111010011, //D = 0 0b0000000000110010, //1 = 1 0b1100100011011001, //2 = 2 0b1000000011011011, //3 = 3 0b0000110000011010, //4 = 4 0b1000110011001011,
-
Thread
Brauche Hilfe bei einem CC1101 Projekt
funktionieren CC1101 868 Transmitter zu clones bzw das > Signal zu clones. Es gibt prinzipiell 2 Sequenzen: 1. die Initialisierung, typischerweise beim Einschalten 2. das Senden eines Kommandos bei einem Ereignis (z.B. Knopfdruck). Solange du nicht schreibst was das für ein Sender ist, und ob
Whitening off. 1 = Whitening on. ELECHOUSE_cc1101.setPktFormat(0); // Format of RX and TX data. 0 = Normal mode, use FIFOs for RX and TX. 1 = Synchronous serial mode, Data in on GDO0 and data out on either of the GDOx pins. 2 = Random TX mode; sends random data using PN9 generator. Used for
-
Thread
Alpha-Bus zu RS232 Adapter (1 bidirektionale Datenleitung)
jemand anhand der Daten helfen, wie die Checksumme berechnet wird? Hier ein paar Telegramme: [c] tx_301 = [0x7E,0x82,0x7D,0x5D,0x7E] tx_302 = [0x7E,0x83,0x7C,0x7E] tx_303 = [0x7E,0x84,0x7B,0x7E] tx_304 = [0x7E,0x85,0x7A,0x7E] tx_305 = [0x7E,0x86,0x79,0x7E] tx_306 = [0x7E,0x87,0x78,0x7E] tx_307 = [0x7E,0x88,0x77,0x7E] tx_308 = [0x7E,0x89,0x76,0x7E] tx_309 = [0x7E,0x8A,0x75,0x7E] tx_310 = [0x7E,0x8B,0x74,0x7E] tx_311 = [0x7E,0x8C,0x73,0x7E] tx_312 = [0x7E,0x8D,0x72,0x7E] tx_313 = [0x7E,0x8E,0x7D,0x5E,0x7E,0x00,0x00
-
Thread
µC zu schnell bzw. USART zu langsam
@ M. K. (avr-frickler) Benutzerseite >Die UARTs haben alle 2(RX/TX) eigene Puffer(FIFO). Der RXC-Interrupt >stellt die Daten immer in den RX-Puffer und der UDRE-Interrupt sendet >die Daten aus dem TX-Puffer. Dieser Minipuffer reicht hier nicht. >Wissen
Falk Brunner schrieb im Beitrag #2717752: >>Die UARTs haben alle 2(RX/TX) eigene Puffer(FIFO). Der RXC-Interrupt >>stellt die Daten immer in den RX-Puffer und der UDRE-Interrupt sendet >>die Daten aus dem TX-Puffer. > > Dieser Minipuffer reicht hier nicht. Wie
-
Thread
STM32F105 CL & DMA -> USART2
} [/C] [C] while(1) { TxBuffer[0] = 'A'; TxBuffer[1] = 'B'; TxBuffer[2] = 'C'; dmaSend(DMA1_Channel4,1); } } [/C]
[c] while(1) { TxBuffer[0] = 'A'; TxBuffer[1] = 'B'; TxBuffer[2] = 'C'; dmaSend(DMA1_Channel4,1); } [/c] Ich vermisse hier Code der abwartet bis der DMA Transfer beendet ist bevor
-
Thread
Probleme mit NRF24L01
R_REGISTER 0x00 #define W_REGISTER 0x20 #define R_RX_PAYLOAD 0x61 #define W_TX_PAYLOAD 0xA0 #define FLUSH_TX 0xE1 #define FLUSH_RX 0xE2 #define REUSE_TX_PL 0xE3 #define RX_ADDR_P0 0x0A #define RX_ADDR_P1 0x0B #define RX_ADDR_P2
So Fehler gefunden!! jetzt empfang ich was... Erster Fehler: TX-Buffer nur mit 32 Bytes beschreiben, da hab ich mich selber ausgetrixt... :( 2. Fehler: RX-FIFO-Payloadwidth muss ich auf 32 Byte stellen, weil ich auch 32 Byte in den TX-FIFO reinschreib (die dynamische
-
Thread
RX und TX von Serieller schnittstelle über ein Telefefonkabel mit Spezialtransformator?
lassen, so werden die AVR's am wenigsten blockiert. Aber nun zurück zu dem Problem, ich habe nur 2 verdrillte Adern aber RX und TX müssen Drüber. denkt ihr die Trafo geschichte ist geignet? Gruß Jens
>Aber nun zurück zu dem Problem, ich habe nur 2 verdrillte Adern aber RX >und TX müssen Drüber. denkt ihr die Trafo geschichte ist geignet? Modem oder Ethernet. Einfach Trafo an RxD,TxD geht nicht.
-
Thread
FPGA-Funktion I2C-Slave VHDL
mehrere Leute mitmachen, ist die Gefahr für Bugs wesentlich kleiner. Übrigens, auch wenn I2C für ein FPGA keine wirkliche Herausforderung ist, es wird eingebaut. Stell Dir mal vor Du brauchst 2 I2C Multimaster und 3 Slaves gleichzeitig, jeder soll 128 Bytes Buffer jeweils für TX und RX haben
Hallo Helmut, i2c_slave_1 : i2c_slave ... bedeutet, dass hier die Funktion i2c_slave instanziiert wird, danach kommt das Port-Mapping. i2c_slave_1 ist der Name für die Instanz des Slaves, der dann z.B. auch wieder
-
Thread
Zeichenketten ueber UART
} } } } [/c] Die Arbeitsweise sieht so aus: 1. Eine Zeichenkette ausgeben (z.B. „12345“), um Messwerte anzufordern. 2. Wenn der Messwert kommt wird dieser entpackt und zurückgeschickt. Z.B. Empfangsbytes: 0x5a 0x20 0x34 0x35 0x30 0x0D 0x0A Nach dem Entpacken: 0x34 0x35 0x30
uart_put_string(), denn mit der folgenden Methode geht es. [c] void uart_send(void) { Usart_Tx('1'); Usart_Tx('2'); Usart_Tx('3'); Usart_Tx('4'); Usart_Tx('5'); } [/c] Problem 2: Der Messwert wird nicht zurückgeschickt. Man gibt im Terminal ein: 0x5a 0x20 0x34 0x35 0x30 0x0D
-
Thread
FTDI zu TTL USB Adapter ges.
mir jemand den Weg > aufzeigen könnte, wie ich daraus einen USB zu UART/TTL machen könnte, z.B. indem du meine USB-CDC-Software drauf flashst: https://github.com/Erlkoenig90/f1usb/releases/tag/v1.1 Damit hast du dann 3 serielle Ports. Pinbelegung: * VCP0: TX=PA9, RX=PA10, DTR=PA1, RTS=PA5 * VCP1: TX=PA2, RX=PA3, DTR=PA6, RTS=PA7 * VCP2: TX=PB10, RX=PB11, DTR=PC0, RTS=PC1
-
Thread
Layout so in Ordnung?
normal daneben, du bast genug Platz. Ebenso die Freilaufdiode am Relais, am Spannungsregler und die 2k2. MFG Falk
es doch minimal leichter gemacht. Außerdem habe ich die Pinbelegung ein wenig angepasst, so dass zB das Funkmodul nun komplett an Port B hängt. Für das TX-Pad war kein Platz mehr (der Pin ist von allen Seiten mit Routen umgeben, aber wie gesagt, ist auch nicht so nötig. Der aktualisierte Schaltplan
-
Thread
RS232 over WiFi
sendet, ist auch fraglich. Anstatt zwei CAN Transceiver zu nehmen, so etwas braucht wirklich nur 2 Leitungen und Rx und Tx mit CANH und CANL auszutauschen...
Warum machst Du nicht das, was Thomas vor 2 Monaten schon erwähnt hat: http://jeelabs.org/book/1526b/ https://github.com/jeelabs/esp-link Draufspielen und fertig. Auf PC Seite unter Linux socat und unter Windows gibt es da auch ein Program
-
Thread
Module miteinander verbinden - welchen Bus nehmen?
Aufzählung über eine langsame 5V serielle Leitung durchzuführen. In etwa so: 1 ---+--- +48V ----... 2 ---+ 3 ------- CAN H ---... 4 ------- CAN L ---... 5 ------- ENUM TX ----- RX1 [MCU1] TX1 ---------- RX1 [MCU2] TX1 ------- etc. 6 ------- frei 7 ---+ 8 ---+--- 48V GND -... Der Hauptcontroller
Dazu passend 2 Stück von https://www.digikey.de/product-detail/de/wiznet/J1B1211CCD/1278-1052-ND/7604176 1,30 / Stück
-
Thread
ATxMega o. ARM-Cortex-M3
. Ich könnte bei der Einrichtung behilflich sein, PN schreiben. (Eclipse&Co.) >2x Uart to USB Bridge (z.B. mit FT2232) USB/ComPort könnte auch der STM32 direkt, ohne FTDI.
recht gängig, würde ich statt eines >separaten FT2232 in Erwägung ziehen. Torben schrieb: >2x Uart to USB Bridge (z.B. mit FT2232) Fehler meiner Seite. Der uC muss eine USB und serielle Schnittstelle bieten.
-
Thread
W5500 PHY-Problem
werden da 5 Pins versorgt. - D1 und D2 haben auffällig (zu?) kleine Vorwiderstände
Wolfram schrieb im Beitrag #6789902: > Dann habe ich Rx-,Rx+,RCT mit Tx-,Tx+,TCT vertauscht Genau _das_ macht doch ein Crossover-Kabel?!?
-
Thread
LSB Direktmischer. Empfangen und Senden
50 Ohm. Grenzfrequenz von 8MHz Den Preamp habe ich von hier: http://www.qsl.net/ko6bb/lf-preamp-2.html Die Endstufe von hier: http://sm0vpo.altervista.org/tx/qrp-hf1.htm
nicht direkt in einem Amateurband) konzipieren. Dann kannst du billige, aber sehr gute Quarze bei z.B. 4915kHz (wie im K2, haben meinen Messungen nach die höchste Güten) oder auch 6400kHz, 8000kHz, 8672kHz nehmen. Dein obiges Konzept mit dem festen Filter empfängt ja nur eine SSB-Frequenz. Es wäre ein
-
Thread
UART Probleme
über die serielle Schnitstelle empfängt: Steck dazu das RS232-Kabel am AVR aus und verbinde die Pins 2+3. Dann tippst du im Terminalprogramm ein paar Zeichen ein, und kontrollierst, ob der die auch wieder empfängt. Und der nächste Schritt ist, zu kontrollieren, ob du evtl. RX und TX auf dem Weg zum
serielle Schnitstelle > empfängt: Steck dazu das RS232-Kabel am AVR aus und verbinde die Pins > 2+3. Dann tippst du im Terminalprogramm ein paar Zeichen ein, und > kontrollierst, ob der die auch wieder empfängt. > > Und der nächste Schritt ist, zu kontrollieren, ob du evtl. RX und TX auf > dem
-
Thread
Anfängerfrage zu Unions
DatTxBuf2" kommt eine für mich unverständliche Meldung: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'DatTxBuf2' Brauche ich da noch typedef - falls ja wo ?
TxAarrayConverter DatTxBuf2" kommt > eine für mich unverständliche Meldung: error: expected '=', ',', ';', > 'asm' or '__attribute__' before 'DatTxBuf2' In C sind weder bei Strukturen noch bei Unions
-
Thread
avr910 defekt?
bei beliebigen Baudraten exakt zurücksendet, was er auf der Seriellen empfangen hat. Der Oskar an TX und RX direkt verrät, dass RX (Pin3 auf der Buchse, TX des PC) in Ruhe auf -9,5V liegt, bei Verkehr mit schön steilen Flanken auf +9,5 hoch geht. Tx (Pin2, RX des PC) hingegen liegt nur auf etwa -4,5V
sucht sich die >Baudrate selbst. Beu avrdude kann auch ein Fehler im avrdude.conf file >sein (z.B. Baudrate). Es ist Version 3.9 drauf. Da es auf deinen Webseiten nur 3.8b gibt, nehme ich mal an, dass der shopbetreiber da noch dran gefrickelt hat. Ich probier heut mittag mal die offizielle 3.8b
-
Thread
Minutengenaue 24 Stunden-Wortuhr - wer will mitbauen?
überhaupt keine Gedanken zu machen. bin ja dabei, Platinen mit Arduino kompatiblen m1284p 128kB flash 216 kB RAM sind bestellt Muster im Ribba 25 x 25 cm mit WS2811/12/b Stripes läuft Flächenplatine WS2811/12/b mit 16 x 8 LED 2Stk Raster 2cm sind auch bestellt WS2811/12/b Stripes im 3,2cm
| GPIO: PC11 | | MCURSES terminal (USB) | USB: OTG | USART2: TX=PA2 RX=PA3 | | ESP8266 | USART2: TX=PA2 RX=PA3 | USART6: TX=PA11 RX=PA12 | | I2C DS3231 & EEPROM | I2C3: SCL=PA8 SDA=PC9 | I2C3: SCL=PA8 SDA=PC9 | | WS2812
-
Thread
Zeit via Taster eingeben und über USART (Bidirektional)
kann man nicht senden, wenn dann nur einen 8er Block oder einen 16er Block. Senden kannst du z.B. so: trxadr=dte_rx_buf[0]; trxdata6=dte_rx_buf[0]; trxdata5=dte_rx_buf[2]; trxdata4=dte_rx_buf[3]; trxdata3=dte_rx_buf[4]; trxdata2=dte_rx_buf[5]; trxdata1=dte_rx_buf[6]; trxdata0=dte_rx_buf[7]; trx_send(); Empfangen z.B. so: trxadr=0; trxdata0=13; trx_send(); trx_rcv(); dte_tx_buf[0]=trxdata6; dte_tx_buf[1]=trxdata5; dte_tx_buf[2]=trxdata4; dte_tx_buf[3]=trxdata3; dte_tx_buf[4]=trxdata2
-
Thread
Wie muss man die Pins uC und MAX232 Baustein verbinden?
man die Pin vom µC und MAX232 Baustein verbindet, ist es nun Variante 1: µC MAX232 RXD TX TXD RX oder Variante 2: µC MAX232 RXD RX TXD TX ich hab beide Varianten schon ausprobiert, es tut sich aber nix (was natürlich auch mit der Software zusammenhängen kann
die Verbindung folgendermaßen: TXD -> T1IN RXD -> R1OUT Bei der Entwicklungsplatine AVR-P40B-8535 siehe http://www.olimex.com/dev/images/avr-p40b-8535-sch.gif ist die Belegung: T2IN -> RX R1OUT -> TX es steht halt leider nur TX und RX da. Ich glaube fast das T2IN über RX mit
-
Thread
DFPlayer Serial funzt nicht
Initialisieren aber fehl. Ich habe auf meinem Arduino Nano Klon schon einige Pins ausprobiert (A6+A7, TX1+RX0, D6+D7) und auch mit 1K Widerstand an RX,TX und RX+TX aber kein Glück. Habt ihr ne Idee was ich noch versuchen kann? Kann mir jemand verraten wie ich messen kann ob der Chip überhaupt die serielle
= A0; int photo2 = A1; void setup() { pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); // set the data rate for the SoftwareSerial port mySerial.begin(9600); Serial.begin(9600); wiederHolt(1); }
-
Thread
Betty Boop Projekt Swisscom \ Pollin Hardwareversion 2 Boop.bin Download
fahren? Also z.B. dass die Lautstärke-Tasten einen Verstärker steuern und die restlichen Tasten den TV OHNE eben zwischen 2 Geräteprofilen hin- und herschalten zu müssen, wie es bei Standard-Universalfernbedienungen
Zusätzlich zu den Datenleitungen werden zwei Handshake-Signale benutzt PC Betty ----------- TX - RX RX - TX DTR - nReset RTS - eINT1 Ich habe noch 2 zusätzliche PINs an mein USB-Interface werde mal schauen, ob es DTR und RTS ist. Mal ein Oszi dranhängen. Mit Minicom oder stty werde ich
-
Thread
bluetooth sniffer bauen
PIO(8) PIO(9) PIO(10) AIO(0) AIO(1) RESET SPI_MISO SPI_CSB SPI_CLK SPI_MOSI UART_CTS UART_TX UART_RTS UART_RX PIO(II) 3V3 GND rechte seite: GND RF_IO GND PIO(0) PIO(1) PIO(2) PIO(3) PIO(4) PIO(5) PIO(6) PIO(7) USB_DN USB_DP PCM_CLK PCM_IN PCM_SYNC PCM_OUT Ich habe
: USB - BTM-182 (1) +3.3V - an VCC und UVCC (2) RST - offen (3) TXD - (10) UART_RX (4) RXD - (9) UART_TX (5) GND - (15) GND (6) +5V - nicht verbinden Und den RESETB pin mit 10k Widerstand an +3.3V - nicht dass der BTM-182 in einem Dauer-Reset
-
Thread
CTC-Modus beim ATmega32 ?1us mit 10MHz?
Modus TCCR2 &= ~((1<<CS22)|(1<<CS21)); //Geschwindigkeit festlegen TCCR2: CS22:20 ="001" //Kein Vorteiler TCCR2 |= (1<<CS20); //Geschwindigkeit festlegen //Kein Vorteiler ASSR |= (1<<AS2); //Syncronisation
aber direkt vom PC über die >Serielle Schnittstelle empfangen und dann wären doch die beiden Pins TxD >und RxD weg. Sicher. Dann brauchst du wie bereits gesagt einen Controller mit zwei UARTs. Die gibt es für wenig Geld. z.B. ATmega644PA > Wie soll ich dann noch den MAX485 anschließen? So
-
Thread
STM32F4 - SPI und DMA
// SPI2_RX_DMA deinitialisieren DMA_DeInit(SPI2_TX_DMA_STREAM); // SPI2_TX_DMA deinitialisieren SPI_I2S_DeInit(SPI2); // SPI2 deinitialisieren /* Konfiguration der Peripherien
); DMA_ClearFlag(SPI2_TX_DMA_STREAM, SPI2_TX_DMA_FLAG_TCIF); }*/ } [/c]
-
Thread
Mehrere Geräte über uC ansteuern unter Verwendung von RS232
. Am ende wäre eine Checksumme noch gut um Fehler auszuschließen. z.B. wie beim NMEA-Protokoll, einfach ein XOR über alle übertragene Bytes, dass dann mitgesendet wird, z.B. SM1,SW,ON*4A
Du könntest die "clients" auch durchschleifen. Sprich: TX vom Host auf RX von client1 TX von client1 auf RX von client2 TX von client2 auf RX von client3 TX von client3 auf RX von Host (natürlich beliebig erweiterbar) Jetzt musst du dir nur noch nen
-
Thread
STM32F446 - USART
soll die Meldung bedeuten? Was für ein Array? [c] //Init pins for usart connection //D8 => TX RCC -> AHB1ENR |= RCC_AHB1ENR_GPIODEN; COM_TX_PORT -> MODER |= GPIO_MODER_MODER8_1; COM_TX_PORT -> AFR |= GPIO_AFRH_AFRH7_2 | GPIO_AFRH_AFRH7_1 | GPIO_AFRH_AFRH7_0; //D9 => RX RCC -> AHB1ENR
Quatsch...muß natürlich so sein: [c] //Init pins for usart connection //D8 => TX RCC -> AHB1ENR |= RCC_AHB1ENR_GPIODEN; COM_TX_PORT -> MODER |= GPIO_MODER_MODER8_1; COM_TX_PORT -> AFR[1] |= GPIO_AFRH_AFSEL8_2 | GPIO_AFRH_AFSEL8_1 | GPIO_AFRH_AFSEL8_0; //D9 => RX RCC
-
Thread
RS-485 mit Raspberry Pico emulieren
möchte ich nix ändern, weil der in so einem Relais-Modul steckt. https://www.waveshare.com/pico-relay-b.htm. Da ist es schwierig zusätzliche Bauteile rein zu bekommen. Alternativ gäbe es für mich Arduinianer vom selben Hersteller noch dieses Modul. https://www.waveshare.com/pico-2ch-rs485.htm Ich
Als Überlegung für Pin-Sparer wäre, nur das TxD-Signal einer UART zu verwenden und das invertierte Signal über einen Spannungsteiler auch ca. 1,6 V (Vcc/2) zu legen. Andere Sender/Empfänger hängen ja nicht am Bus. Die Empfindlichkeit der Differenzeingänge
-
Thread
Problem(chen) mit Excel
solltest du dich über die Formel-Befehl INDIREKT + VERKETTEN schlau machen. Stell dir eine Reihe B vor mit zahlen. In D1 willst du den Wert aus B3 haben, in den du in D2 eine 3 eingibst. Das in D1 schreiben =INDIREKT(VERKETTEN("b"&D2)) Wenn du das so machst das deine Puffertabelle Werte hat
ich nie vor. > > Die Puffertabelle macht nur eins. Sie verkürzt die Anzahl der Daten. > > z.b. > > Zeile 1 spalte 1 : Akt. Stunde > Zeile 1 Spalte 2 : Temperatur > > Zeile 2 Spalte 1 : 1 > Zeile 2 Spalte 2 : Mittelwert aus Zeile 1-100 der Original-Tabelle. > > Zeile 3 Spalte 1 : 2
-
Thread
SW ATTiny85 Mag bitte jemand helfen?
sleep.h> #include <avr/interrupt.h> #include "sbit.h" #define RX_INT PCINT1 #define RX_in PIN_B1 #define TX_out PORT_B2 #define TX_oe DDR_B2 int main(void) { set_sleep_mode(SLEEP_MODE_PWR_DOWN); sleep_enable(); sei();
sleep_cpu(); i = 0; } } _delay_ms(2000); // wait 2s TX_out = 1; _delay_ms(2000); // duration 2s TX_out = 0; } while(1); } EMPTY_INTERRUPT(PCINT0_vect); [/c]
-
Thread
2x RS232 auf USB (mit modifizierten Daten)
char *c){ while ( *c != '\n' ) uart_send_byte(*(c++)); } int main(void){ DDRJ = 0b00000010; DDRH = 0b00000010; DDRD = 0b00001000; DDRA = 0b00001111; UBRR3H = 0x00; UBRR3L = 3; //115200Hz bei 7,382700 MHZ Quarz UBRR2H = 0x00; UBRR2L = 47; //9600Hz
7,382700 MHZ Quarz UBRR1H = 0x00; UBRR1L = 47; //9600Hz bei 7,382700 MHZ Quarz UCSR1B |= (1<<TXEN1)|(1<<RXEN1)|(1<<RXCIE1); // UART1 RX und Interupt einschalten UCSR3B |= (1<<TXEN3)|(1<<RXEN3)|(1<<RXCIE3); // UART TX einschalten UCSR2B |= (1<<TXEN2)|(1<<RXEN2)|(1<<RXCIE2
-
Thread
LAN+Microcontroller
ausgerichtet ... und das isses auch schon. Für Glasfaserstrecken gibt es fertige Medienkonverter (100BaseTx auf 100BaseFx), in denen ist grunsätzlich auch nichts anderes enthalten.
ich nicht genau weiß wie die LAN-Technologie funktioniert (hab schon viel im I-Net gesucht)... was z.B. tut die Netzwerkkarte um eine Verbindgung zu finden(auf elektrischer Ebene)? Wird da auch schon mit 3 Pegeln gearbeitet ? Weil soweit ich weiß gibt es bei 10 MBit nur 2 Pegel, und solange keine Verbindung
-
Thread
RS485 - viele Teilnehmer - hohe Geschwindigkeit
Wenn von einem im Bus später angeordnetem Slave Daten versendet werden gibst du diese von Transceiver 2 auf Transceiver 1. Vereinfacht kann man direkt RX und TX der beiden Transceiver kreuzen und im Sendefall diese Verbindung auftrennen und die RX und TX LEitung des Controllers an beide Transceiver
stm32snippetsf0.html). Von der Konfiguration her ist CAN schon ein bisschen komplizierter als SPI oder I2C aber immer noch viel einfacher als z.B. USB. Der Code ist schon sehr gut kommentiert aber wie immer hilft ein Blick in das Reference-Manual (in diesem Fall dem des F072).
-
Thread
Ersatzchip für Arduino
Oder du kaufst dir einen 2. Uno. Ersatz ist immer gut. Und flashst damit den Bootloader des defekten Uno.
Es gibt also min. 3 *.hex Dateien. 1. Anwendung 2. Bootloader 3. Anwendung mit Bootloader
-
Thread
STM32 UART Interrupt Rx, Tx, FreeRTOS
Task1 */ Task1Handle = osThreadNew(StartTask1, NULL, &Task1_attributes); /* creation of Task2 */ Task2Handle = osThreadNew(StartTask2, NULL, &Task2_attributes); /* USER CODE BEGIN RTOS_THREADS */ /* add threads, ... */ /* USER CODE END RTOS_THREADS */ /* USER CODE BEGIN RTOS_EVENTS
(&huart2); /* Infinite loop */ for(;;) { osDelay(1); } /* USER CODE END Start } [/c]
-
Thread
Bluetooth LE Verständnissproblem ATT, GATT usw.
> Neben der "Nordic UART RX"-Characteristic, an die Du die sieben Bytes > sendest, gibt es ja z.B. auch noch die "Nordic UART TX"-Characteristic > (UUID: 6E400003-B5A3-F393-E0A9-E50E24DCCA9E) für die Gegenrichtung, zum > Empfangen. Auch die würde ich daher einfach mal subscriben, einfach um >
direkt die Frage nochmal mit dem subscriben. Wenn ich sowas hier mache: [c] pRemoteChar_NORDICUART_TX->registerForNotify(notifyCallbackTX); [/c] dann erschließt sich mir, das da was abonniert wird. Aber wie ist es denn z.B. beim READ? Abonniere ich automatisch, wenn ich einmal gelesen habe? Denn in
-
Thread
STMF32, SPI, Master, Vollduplex
variables and counter k int main(void) { RCC_Configuration (); NVIC_Configuration(); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); GPIO_init (); SPI_init(); while (1){ TxIdx = 0; RxIdx = 0; for (k = 0; k < BufferSize; k++) SPI1_Buffer_Rx[k] = 0; while (TxIdx < BufferSize) { GPIO_SetBits(GPIOA,GPIO_Pin_3); Delay (0xAFFFF); GPIO_ResetBits(GPIOA,GPIO_Pin_3); /* Wait for SPI1 Tx buffer empty */ //while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE
-
Thread
OptoKoppler für ethernet und Ansteuerung der Status LEDs
Steckern (die haben je eine grüne und eine gelbe LED mit an Bord) angezeigt werden, ob gesendet (also TX.Leitungen haben Traffic) oder ob Empfangen wird. -->Frage2: Wie steuere ich diese LEDs an, da ja eine LED an beide TX-Leitungen müsste? Außerdem wird die Leistung, die über ethernet kommt eh nicht
shop.fiber24.net/index.php/de/10-100Base-T-to-1310nm-Ethernet-Media-Konverter/c-ACTIVE-1GBIT/a-FOCO-F2-1MFE-XXX-1310-AC100?sidE70A6A1096464AEFB3364F28B60C3BC6=fef5bbaae505aed3b970370e3944102b
-
Thread
Finder Zähler mit ModBus auslesen
include <SoftwareSerial.h> // SoftwareSerial Library SoftwareSerial modbusSerial(4, 5); // RX, TX for Modbus ModbusMaster node; // ModbusMaster Objekt constexpr uint8_t modbusEnablePin = 2; // The GPIO used to control the MAX485 TX pin. Set to 255 if you are not using
1 00 08 9D ist der 24-Bit Wert (2205), also 2205 * 10E-1 = 220.5 Passt doch alles. Stefan B. schrieb im Beitrag #7400925: > evtl. sind ja für jeden Parameter der verarbeitet wird generell 2 > Register reserviert und das höhere Register bleibt dann leer? Nein. In der Tabelle ab S. 34 steht
-
Thread
3,3V Hardware betreiben an 5V Arduino
images/doc2549.pdf, 31.1 DC Characteristics, Vih Input High Voltage, Except XTAL1 and RESET pins, Vcc= 2.4V - 5.5V: Min 0.6Vcc (2); (2) "Min" means the lowest value where the pin is guaranteed to be read as high. 5V * 0.6 = 3V) Obs schrieb im Beitrag #3530259: > Dort würde dieser ja dann auf dem TX-Pin
Datenblatt? Ich finde in Atmels Datenblättern "Input Threshold Voltages" die für High knapp über V_CC/2 liegen und für Low knapp unter V_CC/2. z.B. http://www.atmel.com/images/atmel-8271-8-bit-avr-microcontroller-atmega48a-48pa-88a-88pa-168a-168pa-328-328p_datasheet.pdf Seite 610f (ATMega88A) http
-
Thread
ATMEGA328 Led-Fader Projekt instabil
am µC darauf warten zu können. Ein Command besteht aus path (setRGB / fade) und commands (r=255&g=0&b=0 oder h=100&s=1&i=1) 1c) eine RGB LED hängt über drei kleine KSQs an den PWM-Pins des ATMEGA328P 2) Software: 2a) uart Library von Martyn Welch: https://github.com/mwelchuk/atmel/tree/master
Antworten darauf. Praktisch ist, dass ich durch die Library printf() etc nutzen kann. 2b) uexpect Libary von Martyn Welch: https://github.com/mwelchuk/atmel/tree/master/atmega328p/libraries/uexpect Lesen der Response - blockt bis eine erwartete Antwort zurückkommt 3) Fehlerbilder
-
Thread
MSP430F1611 TimerA Interrupt Problem
.org DACDMA_VECTOR,0xFF .word DACDMA_VECTOR_ISR ; 0xFFE0 DAC12/DMA .org PORT2_VECTOR,0xFF .word PORT2_VECTOR_ISR ; 0xFFE2 Port 2 .org USART1TX_VECTOR,0xFF .word USART1TX_VECTOR_ISR ; 0xFFF4 USART 1 Transmit .org USART1RX_VECTOR,0xFF .word
word USART0TX_VECTOR_ISR ; 0xFFF0 USART 0 Transmit .org USART0RX_VECTOR,0xFF .word USART0RX_VECTOR_ISR ; 0xFFF2 USART 0 Receive I2C tx/rx .org WDT_VECTOR,0xFF .word WDT_VECTOR_ISR
-
Thread
UART läuft auf ATMEGA 32 aber nicht auf 328
252FInterrupt-Techniken_Schoendube.pdf%26usg%3DAFQjCNHPTyxQpn6tkd-23UprKLNZMMN3qA%26bvm%3Dbv.107763241%2Cd.bGg
TCCR1A #define COMxA0 COM1A0 #define OCRxA OCR1A #define TCCRxB TCCR1B #define WGMx2 WGM12 #define CSx0 CS10 #define ARDUINO_LED 5 #define DDR_ARDUINO_LED DDRB #define PORT_ARDUINO_LED PORTB
-
Thread
I2C stehe auf dem Schlauch (CC430)
, damit kein STOP gesendet wird), und wenn das erledigt ist, USCI_B_I2C_masterMultiByteReceiveStart(), und dann im Interrupt USCI_B_I2C_masterMultiByteReceiveNext() oder USCI_B_I2C_masterMultiByteReceiveFinish(). Und wenn das nicht weiter hilft, musst du dein Englisch
und dann sofort zwei Bytes > lesen. Das wären USCI_B_I2C_masterMultiByteSendStart() (nicht > …SingleByte(), damit kein STOP gesendet wird), und wenn das erledigt > ist, USCI_B_I2C_masterMultiByteReceiveStart(), und dann im Interrupt > USCI_B_I2C_masterMultiByteReceiveNext
-
Thread
Uart/Itoa-Problem
(unsigned char data) { while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready? UCA0TXBUF = data; // write TX buffer } void uart_puts(unsigned char *data) { volatile unsigned int i = 0; do { while (!(IFG2&UCA0TXIFG
Dirk B. schrieb im Beitrag #3990215: > [c] > void uart_puts(unsigned char *data) > { > while(*data); > { > while (!(IFG2&UCA0TXIFG)); // USCI_A0 TX buffer ready? > UCA0TXBUF = *data;