-
Thread
Recycling ATmega32 in ABB US/U für KNX-Eigenentwicklung?
Stefan schrieb im Beitrag #3097133: > > Tags im xml-File als base64-Segmente abgelegt), scheint der einzige > Unterschied zwischen 2er und 4er Applikation ein > cpi R26, 0x0F ;4er, binär: 0000 1111 > versus > cpi R26, 0x03 ;2er, binär: 0000 0011 > an Adresse
ATmega-Pin 14 (PD5/OC1A) Blue-Pin 14 -> Board-GND inkl. ATmega-GND div. Pins (GND) und EIB- Blue-Pin 16 -> ATmega-Pin 30 PA7 (ADC7) Würde zumindest ganz gut zu den Infos hinter Roberts Link passen. Die anderen hab ich entweder nicht gefunden oder nicht zuordnen können.
-
Thread
Float Mit sprintf einlesen
optionally signed integer; the next pointer must be a pointer to int. The integer is read in base 16 if it begins with `0x' or `0X', in base 8 if it begins with `0', and in base 10 otherwise. Only characters that correspond to the base are used. o Matches an octal integer
-
Thread
Drehimpulsgeber & Schalter
(1 byte abstufung) einlesen 3 an der Zahl und eben mittels eines Schalters die Funktion auswählen (16 an der Zahl)
Die Parameter werden mit Hilfe von Potis und einem 16 fach Schalter eingelesen. Deswegen bin ich auf der Suche nach einem 16fach Schalter und nach der besten möglichkeit die Potis ans Board zu kriegen.
-
Thread
Ich: Dr., Vorgesetzter: DI (FH)
primitivo-Englisch? Leicht gesagt. Aber er hat sich seine Position verdient. Er war nicht umsonst 16 Jahre Kanzler.
#2801627: > Leicht gesagt. Aber er hat sich seine Position verdient. Er war nicht > > umsonst 16 Jahre Kanzler. Hat er nicht, er war ein Dödel und hat Deutschland in den Ruin getrieben. Er war 16 Jahre Kanzler von Bildzeitungs Gnaden und dem tumpen Volk.
-
Thread
Endstuffe mit 0V PWM verwenden
Schaltung mit einem BC327 Transistor? Denn Emitter an die 24V, denn Collector an meine Endstufe und die Base mittig zwischen die zwei 1k Wiederstände.?
mit einem BC327 Transistor? > Denn Emitter an die 24V, denn Collector an meine Endstufe und die Base > mittig zwischen die zwei 1k Wiederstände.? Jupp, so läuft das.
-
Thread
Mosfet Gate Treiber MD1822/ TC7920
=== === GND GND (created by AACircuit v1.28.7 beta 10/23/16 www.tech-chat.de) [/code] Mit der oberen NPN/Dioden-Kombination wird für schnelles Ab- und langsames Anschalten gesorgt, beim unteren NPN ist das von Natur aus der Fall.
primitives Endstufenpaar aus je 4 Transistoren reichen. Am Ausgang ein PNP/NPN-Paar, die Emitter und Basen zusammengeschaltet (Gegentakt-Emitterfolger, C-Betrieb). Treiber: Ein weiterer PNP als Stromspiegel für den Pull-up an den Basen, ein NPN als geschalteter Pull-down ebenfalls an den Basen. 4 Transistoren
-
Thread
FreeRTOS Semaphore übergeben wenn Paket angekommen
buffer #define BUFFER_MASK (BUFFER_SIZE-1) int head; int tail; int full; int next; uint16_t data[BUFFER_SIZE]; void init_ring() { head=0; tail=0; full=0; next=0; } int ring_in (uint16_t byte) { next = ((head+1) & BUFFER_MASK);
******************************************************* void USART3_IRQHandler(void) { uint16_t sr = USART3->SR; portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE; portBASE_TYPE xTaskWokenByReceive = pdFALSE; // Check for received Data if (sr & USART_SR_RXNE) { ch = (uint16
-
Thread
IC für RGB nach FBAS
Ohne Spezial-IC http://www.elv.de/RGB-BAS-Konverter/x.aspx/cid_726/detail_34986
git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/i2c/adv7343.c?id=refs/tags/v3.16-rc7
-
Thread
A81S4 - Welches Bauteil könnte das sein?
Eine BAS20? mfg mf
Achim M. schrieb im Beitrag #7942742: > Eine BAS20? Die Leiterbahn an Pin 2 würde in dem Fall nicht so richtig Sinn machen.
-
Thread
Pac Man mit dem ATmega8
16 und ATmega32 das auch nicht können)
beschriebene Ablauf erfolgt für jedes Zeichen: LD ZL,X+ ;2 OUT Nullreg ;1 Takt 3 Lückenbit LPM r16, (Z) ;3 OUT r16 ;1 Takt 7 1. Bit LSL r16 ;1 NOP ;1 OUT r16 ;1 Takt 10 2. Bit LSL r16 ;1 NOP ;1 OUT r16 ;1 Takt 13 3. Bit ...usw. Also
-
Thread
WIG-Gasventil ersetzen
ewm'. Da mußt aber vorher noch ordentlich üben, bis dir das gelingt. Pulsen ist das um und auf. Base und Peak (Ampere) plus Frequenz und Duty-Cycle. Peak heißt tiefer Einbrand, Base bedeutet verminderte Wärme. Frequenz und Tastverhältnis besorgen (dir) den Rest. Ist heute Standard bei allen (meist
(ganz) > alten Schlag. Einfach Wahnsinn, welches Wissen und Können er hat. Ein > 300mm Rohr (PN16) im matschigen Graben per Spiegel mit gebogener > Elektrode zu schweißen, muss man erst mal können. Und vor allem geht es überhaupt. Oder anders ausgedrückt: wenn Elektrode nicht mehr geht, dann
-
Thread
STM32: Während Flash schreiben => anderes tabu?
AN2594. Was bewirkt folgender Code (aus eeprom.c), speziell die Zeile mit dem '<===': [c] uint16_t EE_Init(void) [...] /* Transfer data from Page1 to Page0 */ for (VarIdx = 0; VarIdx < NumbOfVar; VarIdx++) { if (( *(__IO uint16_t*)(PAGE0_BASE_ADDRESS + 6)) == VirtAddVarTab[VarIdx]) <===
von einem Block zum anderen umkopiert werden müssen. Frage: Wieso wird da immer fix mit Adresse Base+6 verglichen? Das bewirkt doch nur, dass immer die erste Variable aus der Variablenliste/VirtAddr-Liste NICHT in den neuen Block geschrieben wird. Wieso will man das hier so? Oder was habe ich nicht
-
Thread
Probleme bei schwieriger c++ Programmieraufgabe
44100Hz, 16bit, 1 channel" erfüllt. -Dann soll als drittens die "writeWaveHeader" so implementiert werden, dass sie ein Waveheader in einen Output-Stream schreibt. -Dann ist noch angegeben, dass das Programm
Teil den du noch nicht hast bei readWaveHeader sollte so aussehen: if (hdr -> Subchunk1Size != 16 || hdr -> SampleRate != 44100 || hdr -> BitsPerSample != 16 || hdr -> NumChannels !=1) { cout <<"Wrong format!"<< endl; return NULL; } dann else if
-
Thread
Schnelle FFT in Assembler
Für eine 16x16 Multiplikation benötigt der AVR aber eine Menge Befehle, für den M16 sind es weitaus weniger, es sollte daher schneller sein. Ein großer Vorteil beim M16 ist die CPU Architektur mit einem sehr schnellen
> in r16, WDTCR > ori r16, (1<<WDCE) | (1<<WDE) > out WDTCR, r16 > ldi r16, (1<<WDE) | (1<<WDP2) > out WDTCR, r16 Mhmm du schreibst zuerst das WDE und WDCE in den control-register und gleich
-
Thread
Lichtschranken-Rundenzähler (12V).
schon so. Ich könnte das noch verständlicher zeichnen, wenn es in KiCad Rundsteckverbinder (TRU GX16) gäbe.
schrieb: >> Ich könnte das noch verständlicher zeichnen, wenn es in KiCad >> Rundsteckverbinder (TRU GX16) gäbe. > > Im Schaltplan ist die Art des Steckverbinders eher zweitrangig. Es gibt GX16 nicht in THT...
-
Thread
SD-Card
74HC125 gehen. Der ist 5V tolerant und kann mit 3V3 versogt werden. Hab ich selbst schon mit einem M16C80 gemacht. Zar kann der M16C "nur" 10MHz auf der SPI, aber ist ja auch ganz nett. Reiner
Hallo Volkmar mit was fuer MMC karten arbeitest du? Ich habe 2 (16MB und 32MB von Infineon) von der 16Mb Karte kann ich ohne weiteres Lesen aber die 32MB Karte macht nciht mal den Init CMD1 (Sie meldet dan sowas wie CRC Error und ungueltiges Kommando). Bei Sandisk
-
Thread
Mitstreiter für RISC-V Mikrocontrollers gesucht
> https://pulp-platform.org/hero.html Danke für die Links. Den Pulp kannte ich schon, aber den BaseJump kannte ich noch nicht. Beides sind aber keine Mikrocontroller, sondern spezielle Multicore Systeme zur Beschleunigung von bestimmten Berechnungen, beim BaseJump sogar ein vernetztes Multicore System
kompiliert man einfach für jeden Kern seinen > eigenen Code, aus C oder was auch immer. Nur sind 16k auch nicht arg > viel. Zumindest einer der Kerne sollte m.E. schon besser ausgestattet > sein, die Aufgaben lassen sich ja nicht immer schön gleichmäßig > verteilen. Genau, die 16KiB, die ich
-
Thread
Verbindungserkennung bei Ethernet
ein Progrämmchen vom Hersteller dabei, das sowas ausgibt. Und es kommt in Etwa hin. Bei 10/100-Base-T geht das nicht, da getrennte Adern für TX und RX verwendet werden. Allerdings wird dauern mit Pulsen geprüft, ob eine Gegenstelle angeschlossen ist.
Bei 10BASE-T funktioniert die Link Erkennung mit dem NLP (Normal Link Pulse). Es handelt sich dabei um einen zyklischen 100ns Impuls auf der tx Leitung in 16+-8ms Abständen. Bei 100BASE-TX gibt es ein Idle
-
Artikel
Codebase für LPC1xxx
eines 16-Bit Timers ist 0xFFFF (65535) also 0.910208ms. timer16Init. void timer16Init(uint8_t timerNum, uint16_t timerInterval) Initialisiert einen 16-bit timer mit seiner Interruptzeit. Jedes mal, wenn der Zeiraum
.1] Siehe Beispiel für timer16Init timer16Reset. void timer16Reset(uint8_t timerNum) Setzt den spezifizierten Timer zurück. Übergabeparameter: * timerNum: The 16-bit timer to reset [0..1] Core/Timer32. Steuert alle 32-Bit Timers auf
-
Thread
Schmitt Trigger Transistor Dimensionierung / Berechnungsfehler
/ IBQ2 Zur Vollständigkeit: IC = Hfe * IB IE = IC + IB Verstärkermodus: Steuerströme der Basen sollte etwas zwischen 3-10faches des Querstromes sein Schaltanwendung: Steuerströme der Basen siehe Datenblatt oder Faustregel ca. 1mA kleinere Schaltanwendung wie diese hier. Pierre A. schrieb
Grundschaltungen, AP-Einstellung usw). Laut Inhaltsverzeichnis (http://www.tietze-schenk.de/Tietze-Schenk-Gamm_A16_Inhalt.pdf) wird dies auch in der 16. Auflage (Kapitel 2: Bipolartransistor) auf Seite 35 - 174 _ausführlichst_ (!!!) behandelt.
-
Thread
STM32F4 Quadratur Encoder an Timer2
GPIO_PinSource3, GPIO_AF_TIM2); GPIO_PinAFConfig(GPIOA, GPIO_PinSource5, GPIO_AF_TIM2); TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_TimeBaseStructure.TIM_Period = 0xffff; TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure); /* Configure the timer */ TIM_EncoderInterfaceConfig(TIM2, TIM_EncoderMode_TI12, TIM_ICPolarity_Rising, TIM_ICPolarity_Falling); TIM_SetCounter (TIM2,
-
Thread
SD Karte Spartan 3A XPS_SPI Modul
original XSpi_Transfer rausgenommen und wird hier gemacht void ss_init(void) { XIo_Out32((SPI_1.BaseAddr) + XSP_SSR_OFFSET, (SPI_1.SlaveSelectMask)); // SlaveSelect auf High //sendet 8 Clock Impulse XSpi_Transfer (&SPI_1,FF,NULL, 1); XIo_Out32((SPI_1.BaseAddr) + XSP_SSR_OFFSET, (SPI_1.SlaveSelectReg
" LOC = "V15"| IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 12; NET "xps_spi_0_SS_O_pin" LOC = "V16"| IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 4; NET "xps_spi_0_MOSI_O_pin"LOC = "W16"| IOSTANDARD = LVCMOS33 | SLEW = SLOW | DRIVE = 4; mhs: PORT xps_spi_0_MOSI_O_pin = xps_spi_0_MOSI_O, DIR
-
Thread
DS1820, DS18B20 in C
int16_t zuweisen, mit 10 multiplizieren und durch 16 dividieren (bitte selbst testen): [c] int16_t temp16 = (uint16_t)ow_buffer[0]; // low-Byte temp16 |= ((uint16_t)ow_buffer[1]<<8); // high-Byte temp16 *=10; // Anzeige als 10-tel Grad temp16 /=16; // Sensor liefert 16-tel [/c]
-
Thread
Reichelt: 2-Kanal Farb-DSO für 350€ :)
Ist dein Stick vielleicht zu gross? Versuche es doch mal mit einem Stick kleiner 4GB und nur mit Fat16 formatiert.
HKR,,DevLoader,,*ntkern HKR,,NTMPDriver,,CYUSB.sys ; You may optionally include a check for DriverBase in your application to check for a CYUSB driver HKR,,DriverBase,,CYUSB.sys HKR,"Parameters","MaximumTransferSize",0x10001,4096 HKR,"Parameters","DebugLevel",0x10001,2 HKR,,FriendlyName,,%CYUSB_Description
-
Thread
Z180 schaltet seine Taktfrequenz nicht um
control register rcr .equ 36h ; refresh control register icr .equ 3Fh ; I/O control register, base addr. for internal I/O .org 0000h begin: ; das funktioniert: ld a,0 ; clear a out (icr),a ; set internal I/O to base addr. 0 out (rcr),a ; switch off DRAM refresh facility
Die internen Register werden über 16-Bit-Addressen (0x0000-0x00ff) adressiert. Deshalb müssen die out0/in0 Befehle verwendet werden, da bei den "herkömmlichen" in/out-Befehlen Register A auf der oberen Adressbushälfte liegt. Micha schrieb
-
Thread
CPU Cycles printf bzw sprintf
da der C166 einen Hardware-Divider auf dem Chip hat, schon :-) Die 20 Takte gelten übrigens für 32/16 Division, bei der der eingebaute Barrelshifter wohl auch seinen Teil dazu beiträgt.
könnte man auch den Aufwand an den Leser / Interpreter abschieben und sein eigenes utoa mit fixer Base 16 schreiben. Das wäre dann pro Stelle ca. 1 Und, 4 Shifts nach rechts und eine Addition. Und das Ergebnis ist immer noch recht lesbar.
-
Thread
DAC-Sinus über Audio auf STM32F4 anhören
= 240; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = 14; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_RepetitionCounter
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); TIM_ClearITPendingBit
-
Thread
Pico2 RP2350 GPIO Fehler
testen will: [code] from machine import ADC, mem32, Pin from time import sleep_ms PADS_BANK0_BASE = 0x40038000 # PADS_BANK0_BASE GPIO_REG = PADS_BANK0_BASE + 0x70 # GPIO27 adc = ADC(Pin(27)) print(bin(mem32[GPIO_REG])) mem32[GPIO_REG]=0b0001010000 print(bin(mem32[GPIO_REG])) while(True): print("%1.2f" % (adc.read_u16()*3.3/66750)) sleep_ms(1000) [/code]