-
Thread
Kühlschrank mit Triac ein/ausschalten
Siehe: https://www.mikrocontroller.net/topic/527620#6882508 (und Anhang). Die Kontrollampe D1 als blaue LED ausgeführt, käme mit max. 1mA Strom aus, macht dann 2,7k für R2. In Summe hätte ich dann etwa 13mA, zumindest ein ATMega kann die direkt treiben, der Transistor würde entfallen. ---
: > Beitrag "Re: Kühlschrank mit Triac ein/ausschalten" > (und Anhang). > > Die Kontrollampe D1 als blaue LED ausgeführt, käme mit max. 1mA Strom > aus, macht dann 2,7k für R2. In Summe hätte ich dann etwa 13mA, > zumindest ein ATMega kann die direkt treiben, der Transistor würde > entfallen
-
Thread
Arduino->WS2812B-> Arduino
Stefan ⛄ F. schrieb im Beitrag #6882765: > Ich true das einem Atmega locker zu. Ja, das kann er (angenommener Systemtakt 16Mhz). Aber es wird eng. Wenn nebenbei noch was anderes interruptgesteuert laufen soll (was in der konkreten Anwendung, soweit beschrieben, allerdings
(dazu müssten sie die Daten buffern), sondern nur die beiden Zeiten T0H und T1H. Die Zykluszeit hat hingegen weitgehend derjenigen unter Kontrolle, der den Kram ansteuert, so lange er nur weit genug weg bleibt von Trst. D.h.: das Konzept von Mario M. geht grundsätzlich und
-
Thread
Abblockkondensatoren beim FPGA
es im EQFP-144, hier auch mal der kleinste und größte Max10. [code] DSP kBit XC6SLX9 16 576 XC3S400 16 288 10M02 16 108 10M50 144 1638[/code]
wp-content/uploads/2016/02/pross.png https://components101.com/sites/default/files/component_pin/PIC16F676-Pinout.png https://en.wikipedia.org/wiki/ATmega328#/media/File:ATmega328P_28-PDIP.svg Diese Linkliste lässt sich ohne Aufwand beliebig verlängern. > Aber so funktioniert wissenschaftlich/technische
-
Thread
AVR-Debugging: Speicherstelle überwachen
möglich. Auch danke, schick - wusste ich noch nicht: http://atmel-studio-doc.s3-website-us-east-1.amazonaws.com/webhelp/GUID-ECD8A826-B1DA-44FC-BE0B-5A53418A47BD-en-US-5/index.html?GUID-F9ABAF2B-36E5-4ABA-AC34-8E63007A1E84
Hardwareunzerstützung wid es in Echtzeit nicht möglich sein. Speziell bei MCs ohne externen Adress und Datenbus. 1.) Früher baute man eine Bond-Out Version des Chips um direkt ins Prozessorinnere sehen zu können. https://en.m.wikipedia.org/wiki/Bond-out_processor 2.) Bei neueren Prozessoren gibt es fürs Debugging
-
Thread
DDR-µC, maskenprogrammiert, "fremd verwendbar ?
--------------------------------- ; Testhilfe zur Ausgabe von alternierenden ; Impulsen am Port P1 und P0 mit ; Triggerimpuls an Leitung P35 ;--------------------------------------------------------------- test: ld p01m, #4 ; Port P1 und P0 auf Ausgabe ld
tristate jr C, test20 jr test10 tristate: ld p01m, #7Fh ; Ports 0-1 mode halt: jr halt ; Warteschleife [/pre]
-
Thread
LCD BP Pin direkt an Quarz
und nicht in SO8 daherkommen, sind uC meist mit zuwenig Anschlüsse, ich liebe z.B. das QFP100 wie im M16C/60.
nicht in SO8 daherkommen, > sind uC meist mit zuwenig Anschlüsse, ich liebe z.B. das QFP100 wie im > M16C/60. Huch M16? Waren das nicht mal die Teile von Mitsubishi, die im rechteckigen Gehäuse (Länge <> Breite) und RM0.8 daher kamen? Oder trügt mich da die Erinnerung? Naja, und wenn sich hier vornehmlich
-
Thread
AT90USB162 Endpoint Interrupts funktionieren nicht
oder hab ich da was falsch verstanden? [c] UENUM = 0; // EP0 Anwählen UECONX |= (1 << EPEN); // EP0 Aktivieren UECFG0X = 0; // Controll-EP UECFG1X = 16; // 16 Byte, one Bank UECFG1X |= (1 << ALLOC); // Allocate memory while (UESTA0X & (1 << CFGOK
nochwas 16 Byte EP0 Fifo ist nicht so üblich ich mach immer 8 Bytes. Es fehlt m.M. noch ein EpFifo Reset UERST= 1; EP0 Fifo UERST= 0;
-
Thread
MC14411 Baud Rate Generator Ersatz
m.n. schrieb im Beitrag #6874320: > Nach dem Init bleiben 6 Takte zum Inkrementieren: > > [c] > LOOP: > INC R16 > OUT PORTA, R16 > NOP > NOP > RJMP LOOP > [/c] > > Korrekt? Bin nicht
m.n. schrieb im Beitrag #6874398: > Johannes M. schrieb: >> Die timer würde ich trotzdem dann nutzen, weil ich ja dann mit einem >> etwas größeren ATMEGA die ganzen Gatter drumherum sparen kann. >
-
Thread
ATMega16 mehrere Taster an INT0
den Pin Change Interrupt. Dafür gibt es ihn ... an neueren ATmegas als den vom TO verwendeten ATmega16. Oliver
noch nie gehört. Kannst du mir >evtl. eine Seite geben, wo das gut erklärt ist? Besitzt der ATMega16 nicht. MfG Spess
-
Thread
AVR Verzögerung CLKI nach CLKO
konkreten Controllertyp, hätte ich da vorgeschlagen - mehr kann unsereiner ja auch nicht. Z.B. ATmega88, XTAL1 -> CLKO: so ganz grob 11 ns bei 5.0 V, 16 ns bei 3.0 V.
Controllertyp, hätte ich da vorgeschlagen - > mehr kann unsereiner ja auch nicht. > > Z.B. ATmega88, XTAL1 -> CLKO: so ganz grob 11 ns bei 5.0 V, 16 ns bei > 3.0 V. Ja, darauf wirds wohl hinauslaufen, wollte nur vorab mal fragen, hätte ja sein können das es da bereits Erfahrungswerte gibt.
-
Thread
LiPo Ladegerät was einstellbar nur bis ca. 80 Prozent lädt
du den Spannungsteiler korrigieren magst :) Bzw.: Der hat, wenn ich mich recht erinnere, einen ATMEGA16 oder 32 drin. Du brauchst einen Lader mit einstellbarer Ladeschlusspsannung, z.B.: den https://cs-shop.de/CS-Electronic-Space-X1-Turbo-plus-Ladegeraet-12V-240V-7A-80W-LiHV Gruß Anselm
Idealerweise testen, was das Labornetzteil mit zu hoher Ausgangsspannung anstellt. Meins leitet dann 5mA ab. Andere vielleicht mehr....
-
Thread
-MCP23017 - INPUT_PULLUP mit INPUT verbinden
die Schaltkontakte werden frühzeitig ausfallen. Sorge dafür, dass jeder Kontakt mit mindestens 1 mA belastet wird.
Thomas M. schrieb im Beitrag #6866453: > Laut meinen tests bleibt die Matrix mit einem Pfeil > zw. <1 und 3 millis aktiviert was nicht viel Zeit ist... > Somit bleibt nicht viel Zeit für die Operationen.
-
Thread
EPROM Programmer bauen 27C010 27C020
vor?) 2. 1x Schieberegister für die Daten und 2x kaskadierte 8-bit-Counter für die Adressen, hat den Vorteil, dass es schneller geht, weil ich nicht jedesmal die 16 Bit der Adresse in die Register schieben muss
vor?) > > 2. 1x Schieberegister für die Daten und 2x kaskadierte 8-bit-Counter für > die Adressen, hat den Vorteil, dass es schneller geht, weil ich nicht > jedesmal die 16 Bit der Adresse in die Register schieben
-
Thread
Fehlersuche 600W-Verstärker
Morgen oszi40 Danke für dein Vorschlag! Meinst Du denn, dass durch entfernen, bzw. ersetzen von L1 durch einen Widerstand ein "wildes Schwingen" von Q1 verhindert werden kann? Nur zur Info: Ich habe die Leerlaufspannung für Q1 und Q2 immer ohne HF-Signal am Eingang eingestellt. Bevor ich dummerweise
20db Dämpfungsglied dahinter setzen. Achtung Spektrumanalyzer wollen am ersten Mischer selbst maximal 1mW sehen, sonst ist er gefährdet. Der Eingangsabschwächer verträgt selten mehr als 1Watt. Die sollte man aber nicht ausreizen, weil bei falscher Bedienung des Spektrumanalyzers die 1W direkt am ersten
-
Thread
PWM Modul gesucht
Tim M. schrieb im Beitrag #6862622: > doch leider ist es aktuell nicht zu haben. Wieso ? 1 Stück lagernd im ama-Lager um 3,99 Baugleiche andere findest dort zuhauf.
Tim M. schrieb im Beitrag #6862805: > 500kHz 500 kHz PWM auf einem ATmega mit 20 MHz bedeutet theoretisch maximal 40 PWM-Stufen. Reicht dir das?
-
Thread
Keine RS232 Kommunikation bei CPU-Taktraten über 4 MHz
und meinen Quelltext. Fuses passen, der Fehler steckt im Quelltext, nämlich hier: > ldi temp1,0 [...] > out UBRRH,temp1 Lies' das verdammte Datenblatt. Du kannst beim Mega16 nicht so einfach auf UBRRH zugreifen. Was du tatsächlich tust: du schreibst 0 auf UCSRC.
funktioniert aber nicht einmal 2400 Baud. In der Regel kann jeder uart bis maximale Quarzfrequenz/16, /32 oder /64. Bei glatten Quarzen passen die baudratn oft nicht. Der Fehler sollte <1% sein, über 3 geht nix mehr. Es gibt uart-Quartze, mit vielfachen von 115200*16. Z.B. 22,1184 MHz. Da geht
-
Thread
RGB Tastenfeld in 5x4 Sonderform
sieht die Taste so aus. Siehe Anhang. Was ist das? Edit: Würde sowas nicht reichen? https://m.german.alibaba.com/p-detail/Full-Color-RGB-LED-Illuminated-Momentary-60686876625.html?language=german&redirect=1
Ralf M. M. schrieb im Beitrag #6857201: > Aber darüber ist nicht der Arduino sprich der ATMega328 verbunden > sondern nur der USB to Serial Wandler, d.h. für den PC stellt sich der > Arduino als Serielle
-
Thread
ATMega8-Verzweiflung
-c usbasp -p m8 -U lfuse:w:0xC1:m -U hfuse:w:0x99:m -U lock:w:0xFF:m /opt/ubuntu.bionic/usr/bin/avr-gcc -g -Wall -mcall-prologues -mmcu=atmega8 -DF_CPU=1000000L -O2 -c -o main.o main.c /opt/ubuntu.bionic/usr/
Alex T. schrieb im Beitrag #6854335: > avrdude -c usbasp -p m8 -U lfuse:w:0xC1:m -U hfuse:w:0x99:m -U > lock:w:0xFF:m Diese Fuse-Werte ergeben folgendes Bild: http://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega8&LOW=C1&HIGH=99&LOCKBIT=FF Demnch
-
Thread
LED Strips an Treppe mit PWM der Reihe nach Ein/Aus
ob 1k oder 100 Ohm ist der Lieferfähigkeit vom Port geschuldet weil die Gatekapazität wenn leer einen Kurzschluß bedeutet. 3,3V Port mit 3mA Stromtragfähigkeit ergibt sich 1k Ohm ESP kann 12mA mit 3,3V ATmega Arduino können 40mA mit 5V (meistens oder weniger) Man begrenzt also den Portstrom mit dem R was der Port Strom liefern kann ohne kaputt zu gehen.
-
Thread
Bascom: atmega8-16pu verhält sich anders als atmega8-8pu
Gerade die Spannung wäre mal einer Messung würdig weil dort der größte > Unterschied liegt: > - ATmega8L-8PU 2.7 - 5.5V, 8MHz > - ATmega8-16PU 4.5 - 5.5V, 16MHz Asdf A. schrieb: > $crystal = 1000000 'Resonatorfrequenz ????? Ist das nicht richtig???? interner 1 MHz RC Oszillator
Oliver S.: Dafür das du so gut austeilst, hast du echt schwierigkeiten mit dem lesen: Es geht um den Atmega8! nicht den Atmega16. $regfile = "m8def.dat" passt also für beide Atmega8 Varianten!
-
Thread
Arduino Mega 2560 fresh rebuild with own on board peripherie
und hier schon alles wunderbar funktioniert hat, habe ich auf meinem eigens designten Board diesen 1zu1 nachgebaut laut Dokumentation von Arduino selbst. Ich habe den ATMega16U2 controller mit dem HEX-File geflasht damit die die Daten von USB auf Uart übersetzt werden. Weiters habe ich mir dann
> m2560 ATmega2560 (**) > m2561 ATmega2561 (**) > // schnipp > (**) Flash addressing above 128 KB is not supported by > all programming hardware. Known to work are jtag2, > stk500v2, and bit-bang
-
Thread
Mit welchem Programm programmiert ihr Controller?
funktionierenden > Anleitung durchaus freuen. Aus den release-notes: "# $Id: NEWS 308 2012-11-05 16:41:14Z joerg_wunsch $ Summary of changes in AVaRICE 2.13" Vielleicht liest er deinen Wunsch ja ;) Oliver
AVR (ATmega/ATtiny): Bascom (Vollversion) ESP32: Arduino PC: Python oder Batch für "einmal hingerotzt und nie wieder verändert"
-
Thread
AZ-Delivery registriert gerade massenhaft gängige Komponentenbezeichnungen als Marken
Prozessoren, Boards, Display Controller, usw. zu finden ist. ADS1115, AM2302, AMICA, AMS1117, ATMEGA16U2, ATMEGA328, BME280, BMP180, CH340, CP2102, D1 Mini, DHT11, DHT22, DS18B20, DS3231, GY-906, HC-05, HC-06, HC-SR501, HD44780, IRF520, LM2596, LOLIN, MakerHawk, MAX7219, MB-102, MEGA2560, MG90S, MG995
nach hinten losgeht, wenn Microchip davon Wind bekommt? Mario P. schrieb im Beitrag #6852400: > ATMEGA16U2, ATMEGA328, Damit ist diese Firma bei mir ausgelistet. Matthias
-
Thread
Welchen Arduino soll ich kaufen?
MaWin schrieb im Beitrag #6850142: > Also ja: nimm ein DIP Board mit ATmega168 als USB Interface. *ATmega16U2
meisten Arduino Nutzer keine Rolle, es sollte aber dennoch erwähnt werden, es gibt auch Clones mit dem ATmega16U2, sind dann aber natürlich etwas teurer als die Varianten mit CH340.
-
Thread
Spannungswerte als ASCII in serielle Monitor darstellen, UART
Lothar M. schrieb im Beitrag #6849984: > Korrekt ist hier > AnalogWert = (digit*500)/1024; Das kann nicht korrekter sein: Mit 2 Bit und 4V wird's deutlicher: * 0..1=0 * 1..2=1 * 2..3=2 * 3
A. S. schrieb im Beitrag #6850141: > Lothar M. schrieb: >> Korrekt ist hier >> AnalogWert = (digit*500)/1024; > > Das kann nicht korrekter sein: > > Mit 2 Bit und 4V wird's deutlicher: > > * 0..1=0 > * 1..2=1 > * 2..3=2 > * 3..4
-
Thread
ATtiny2313A und ESP-12F/M3 UART Problem
werden vom ESP aber definitiv richtig übertragen da direkt an Putty angeschlossen oder an einem ATmega32 kein Problem besteht. Der Anschluss ist m.M. nach nicht das Problem, ich hänge aber trotzdem einen ähnlichen Schaltplan an. Als Test habe ich einen zweiten ESP getestet (ESP-M3) der mit 5V betrieben
Mikrocontroller > und dem 3,3V ESP Modul. Siehe > http://stefanfrings.de/esp8266/index.html#an5v 1.) Stored B. schrieb im Beitrag #6848424: > Als Test habe ich einen zweiten ESP > getestet (ESP-M3) der mit 5V betrieben wurde. 2.) ATtiny wie auch ATmega erkennen beim 5V Betrieb bereits Pegel
-
Thread
MAX485: empfängt eine Null, die keine ist
Empfänger nur dann wenn man die Status Bits auswertet. Ich spanne daher den RS485 Bus gerne auf "1" vor...
einem > "gesendeten" /0, wenn bei beidem keine Pegeländerungen stattfinden. 0x00 (korrekt): 1 (Ruhelage) - 0 (Startbit) - 8x 0 (Datenbits) - 1 (Stopbit, entspricht dem Ruhepegel) 0x00 (mit Framing Error): 1 (Ruhelage) - 0 (Startbit) - 8x 0 (Datenbits) - Rest egal, kann auch dauerhaft auf
-
Thread
Viele Taster im Haus abfragen: Modus geeignet?
) Ich habe den Modbus Code etwas angepasst: Anfrage: Adresse:Code:Register(Immer1):Länge(0=dynamisch):CRC Antwort: Adresse:Code:Länge:D16|H5:CRC D16=Doppeltippen an Pin 16 H5=High von Pin 5 Das Problem ist dass du so Scherze wie Doppeltippen erst erkennen kannst wenn es vorbei ist. Die Sequenz sieht bei mir also so aus: H16 wird erkannt (16 geht wieder auf Low) T16 wird erkannt (Tippen auf Pin 16) H16 wird erkannt (16 geht wieder auf Low) D16 wird erkannt (Doppeltippen) Wenn ich nur auf das High Low signal reagiere
-
Thread
DHT22: Datenblatt + Pegel passt nicht / ungenau
Guten Abend, ich habe mir DHT22 Temperatur/Luftfeutigkeits Sensoren besorgt mit 1-Wire Interface. Datenblatt im Anhang. Ich nutze einen Atmega328P und Microchip Studio. Es gibt verschiedene Bibliotheken im Internet um den Sensor anzusteuern. Im Anhang mal die Pegel der Leitung aufgezeichnet
start condition 2 if(!(DHT_PIN & (1<<DHT_INPUTPIN))) { return -1; } _delay_us(80); //read the data uint16_t timeoutcounter = 0; for (j=0; j<5; j++) { //read 5 byte uint8_t result=0; for(i=0; i<8; i++) {/
-
Thread
I2C Implementierung ATmega32 in C funktioniert nicht
following protocol : enum i2c_transfer_direction { I2C_TRANSFER_WRITE = 0, I2C_TRANSFER_READ = 1, }; enum status_code { STATUS_OK = 0x00, STATUS_ERR_OVERFLOW = 0x01, STATUS_ERR_TIMEOUT = 0x02, }; struct i2c_master_packet { // Address to slave device uint16_t address
M. K. schrieb im Beitrag #6844972: > Wie implementiere ich die folgenden Funktionen für den ATmega32 in C? Du scheinst ein genialer Quellcode-Finder zu sein. Also mal im Ernst: Verstehst du denn überhaupt
-
Thread
Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?
@Daniel M. schrieb im Beitrag #7089150: @Jan-Jonas S > Hi Jan, > > aktuell zeichne ich einfach auf, was durch die Luft fliegt. Hallo Die Antwort channel 3: b1 62 50 23 16 63 50 03 16 01 35 00 04 19 5b
DPRINTLN(DBG_INFO, F("A DATA")); memcpy(mPayload[iv->id].data[1], &p->packet[9], len-16); //DBGPRINT(String('mPayload[iv->id].data[0]', HEX) + String("\n")); mPayload[iv->id].len[1]
-
Thread
Innenraumlüfter Transporter mit PWM steuern
https://www.reichelt.de/folienkondensator-330nf-100v-rm5-mks2-100-330n-p172697.html?&trstct=pos_7&nbc=1 https://www.reichelt.de/tvs-diode-unidirektional-17-1-v-1500-w-do-201-1-5ke20a-p272804.html?&trstct=pol_6&nbc=1
durchzusteuern. Die 10KHz höre ich gerade so, etwas höher würde sicher reichen, aber da muß ich den ATmega anders takten, 20KHz gehen mit dem 16Mhz Quarz nicht. Ich hab den MCP1407-E eingesetzt, der sollte es bringen. Dumme Frage: Ich kann doch die PWM Frequenz nur durch den Prescaler und durch die
-
Thread
Nulldurchgangsdetektor 400v
2k Ohm an 400V lässt satte 100mA fliessen und verballert 40W. Ist das dein Ernst ? Wenn der Optokoppler 1mA auf Sekundärseite schalten muss (4k7 an 5V) reichen ihn 2.5mA aus den 400V, also 160k und 1W. Und wenn der Widerstand vor
MaWin schrieb im Beitrag #6841223: > 2k Ohm an 400V lässt satte 100mA Manfred schrieb im Beitrag #6841228: > Auah! +1 400/2000 = ........ *100mA* echt jetzt?
-
Thread
Pulslänge messen mit ATMega48 und Bascom
Programm: '*************************************************************** 'Test Pulsmessung >> 1 Kanal mit Timer 'Chip type : ATMega48V '*************************************************************** $regfile = "m48def.dat" 'ATMega48V $crystal = 8000000 'intern Osz. 8MHz, DivClock=Off Config Lcdpin = Pin , DB4 = Portb.0 , DB5 = Portb.1 , DB6 = Portb.2 Config Lcdpin = Pin , DB7 = Portb.3 , E = Portb.5 , RS = Portb.4 Config Lcd = 16x2 'configure lcd screen DDRD =&B00100000 'PortB.5-Ausgang,
-
Thread
Microcontroller aussuchen
habe da schon einige gesehen, auch mit funktionierendem 100 MBit Ethernet. Also ich mag die Cortex-M lieber und brauche nur eine Toolchain für Devices von 16 kB...2 MB und mehr Flash, mit Ethernet, CAN, Speicher und Controller für Displays, SDIO/MMC für schnelle SDC, und vieles mehr.
oder LPC804, 20 Pins auf 1,8 * 2,5 mm. 32 kB Flash und API im ROM. Ok, nicht für jedermann basteltauglich, trotzdem kann man Cortex-M einsetzen wo für ein Bastelprojekt auch ein AVR reichen würde. An kleinen Projekten üben und
-
Thread
Neu hier und Anfängerfragen bezüglich Programmspeicher
verabschieden. Ich habe letztens mit so etwas gespielt https://www.distrelec.de/de/board-stm32-nucleo-2mb-1mb-st-nucleo-h743zi2/p/30176564 Der hat 1M Flash und ähnlich Ram. Das reicht für Monate. Und dank der Arduino-ähnlichen Header kommt man an alle Signale. Man muss sich von der Arduino-Oberfläche
keine Bankumschaltung machen willst ist bei 64KB Schluss bei den >8bittern. Wo steht das? 1. Der Programmspeicher wird in Words adressiert Datenblatt: ...the Flash is organized as 32K/64K/128K × 16 2. Wozu braucht der ATMega 24560/2561 einen 17 Bit Programmcounter Datenblatt: ..
-
Thread
Genaue Widerstandsmessung mit uC und OPV
isoliert von GND verstärken. Dann ist auch die Versorgungsspannung egal (ratiometrisch). Also z.B. 1k als Strombegrenzung und dann 1R als Offset. So dass Du grob 5mV ... 100mV hast. Die dann mit Faktor 40 oder so verstärken und messen. Da das ganze ratiometrisch geht, spielt die Güte der Versorgungsspannung
was konkretes empfehlen Eine 0V Quelle. Da ist selbst eine mit 10% Abweichung noch genauer als 1mV.
-
Thread
Interrupts bei Fahrradtacho und clock
m.n. schrieb im Beitrag #6833548: > Den Radumfang meiner 28" Räder kenne ich eine Größenordnung genauer. Bei > 2,16 m sind 0,3% (6,5 mm) immer noch gut zu messen. Kannst du den tatsächlichen Raddurchmesser
kenne ich eine Größenordnung genauer. Bei > 2,16 m sind 0,3% (6,5 mm) immer noch gut zu messen.
-
Thread
LED-Streifen dimmen
Quelltext schreiben: [c] #include <stdio.h> #include <stdint.h> #include <math.h> const uint16_t data[]={0,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,4,4,4,4,5,5,6,6,6,7,8,8,9,9,10,11,12,12,13,14,16,17,18,19,21,22,24,25,27,29,32,34,36,39,42,45,48,51,55,59,64,68,73,78,84,90,97,103,111,119,128,137,147,157,168,181,194,207,222,238,256,274,294,315,337,362,388,415,445,477,512,548,588,630,675,724,776,831,891,955,1024,1097,1176,1260,1351,1448,1552,1663,1782,1910,2048,2194,2352,2521,2702,2896,3104,3326,3565,3821,4096,4389,4705,5042,5404,5792,6208,6653,7131,7643,8192,8779,9410,10085,10809,11585,12416,13307,14263,15286,16384,17559,18820,20171,21618,23170,24833,26615,28526,30573,32768,35119,37640,40342,43237,46340,49667,53231,57052,61147,65535
vorgestellt ;-) Für meine 8-Bit-Auflösung habe ich das folgende Array eingebaut: const uint16_t data[]= { 0, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 8, 10, 11, 13, 16, 19, 23, 27, 32, 38, 45, 54, 64, 76, 91, 108, 128, 152, 181, 215, 255 }; Zwischen den 32 Dimmschritten liegen jeweils 12ms
-
Thread
HD44780 - EMI Problem
nicht zu sehen. Optimal schreibt man alles in einen RAM-Puffer, den man dann zyklisch ausgibt, z.B. im 1ms Interrupt immer je ein Byte.
Die m eisten dieser Display kann man sogar mit 3,3V betreiben. man muss dann aber eine negative Kontrastspannung für das Display bereit stellen.
-
Thread
Einen Softcore (AVR) an andere FPGA anpassen?
] = sreg_out[`XMEGA_FLAG_N] ^ sreg_out[`XMEGA_FLAG_V]; sreg_out[`XMEGA_FLAG_Z] = RD_16_IS_ZERO; end [/vhdl] *R* und *rd* sind 16bit Register. Hier wird aber dem 16Bit *R* <= ( *1Bit* + *16Bit* 'rd') zugeordnet. Ein Bit von *rd* fällt dadurch weg. Ich weiß gerade nur nicht welches
XMEGA_FLAG_S] = sreg_out[`XMEGA_FLAG_N] ^ > sreg_out[`XMEGA_FLAG_V]; > sreg_out[`XMEGA_FLAG_Z] = RD_16_IS_ZERO; > end Also daran scheint es nicht zu liegen. Hab es gerade getestet - siehe Bild. Das funktioniert alles. Warum der BRNE Befehl bei SREG_Z = 1 nicht reagiert ist mir weiterhin ein Rätzel
-
Thread
c avr ((1+2)*4 < -3)
zu einenm falschen Ergebnis. Kann mir bitte jemand erklären was hier passiert? [c] volatile int16_t a,b,c; volatile uint16_t d; volatile int8_t erg; a = 1; b = 2; c = -3; d = 4; if ((a+b)*d > c) { erg = 1; } else if ((a+b)*d < c) { erg = -1; } else { erg = 0; } [/c]
Simon schrieb im Beitrag #6825470: > erg hat den Wert -1. Das ist korrekt. Der Vergleich erfolgt im größeren Format und das ist auf nem 8Bitter uint16_t. Aus -3 wird somit 0xFFFD = 65533 Und 12 < 65533 Auf nem 32Bitter ist aber int > uint16_t, da int
-
Thread
AtMega Pin- und Funktionskompatibel
ADC des Nachfolgers (gleiches Board) doch > nicht so viel vom Vorgänger abweichen Na ja, der ATmega16 hat eine 2.54V Referenz, der ATmega644 eine 1.1V Referenz. Aber kein Mensch weiss bei deiner oberflächlichen Beschreibung, ob du die überhaupt benutzt
des Nachfolgers (gleiches Board) doch >> nicht so viel vom Vorgänger abweichen > > Na ja, der ATmega16 hat eine 2.54V Referenz, der ATmega644 eine 1.1V > Referenz. Ich verwende eine externe: https://www.reichelt.de/spannungsreferenz-fest-2-5-v-so-8-lm-385-d2-5-p39827.html Aber der Hinweis ist
-
Thread
CNC - Lohnfräsen aus Chine
Die 0,1mm bekommt man auch damit hin.
M.M.M schrieb im Beitrag #6821552: > Unsinn Du zeigst plakativ deine Ahnungslosigkeit. Privatpersonen zahlen ihre Anschaffungen aus dem Geld NACH Steuern und Sozialabgaben, Firmen hingehen VOR Steuern
-
Thread
Pulslänge mit STM32 Timer vermessen
nicht aber vielleicht hilft Dir meine Idee weiter. Hier meine Idee: Viele PIC MCU‘s haben einen 16Bit Timer (z. B. Timer1) mit Gate control. Wenn man am CLK Eingang eine Frequ. von z. B. 1Mhz anlegt u. den zu messenden Puls am Gate anlegt dann erhält man die Pulsbreite in μs (siehe Skizze in Anhang). Beim PIC kann man im Timer1 Gate auch die Polarität wählen. Damit könnte man auch negative Pulse messen. Schau mal in Dein Datenblatt, vielleicht hat der STM32 so einen Timer.
-
Thread
Arduino Nano interner Temperatursensor auslesen
ist nicht gesetzt (0xFF). Die Device Signatur stimmt aber 0x1E 0x95 0x0F = ATmega328P. [c] [00]: 1E [01]: B8 [02]: 95 [03]: FF [04]: 0F [05]: FF [06]: FF Device signature: 1E 95 0F RC oscillator calibration byte: B8 [/c] Evtl. kann das ja
beschrieben (cailb.png). Was ist das für ein 'Manual'? Im eben heruntergeladenen Datenblatt 'ATmega48A/PA/88A/PA/168A/PA/328/P' finde ich diese Formel nicht. Signatur eines ATmega328P-PU von 1428: [code] 0000 1E95 95FF 0FC4 FF26 FF07 FF17 FFFF 5734 0008 3130 3034 FF03 1E1F 1702 1206 1306
-
Thread
Einfacher Fehler in C-Berechnung
kommt 525 heraus: [c] #include <stdio.h> #include <stdint.h> void main(void) { uint16_t LiquLev; uint16_t LiftParamR1Vol = 1300; LiquLev = 10 * (float)(-0.000004 * (LiftParamR1Vol/10) * (LiftParamR1Vol/10) + 0.0405 * LiftParamR1Vol - 0.003); printf("LiquLdev
ordentlich faktorisieren. ~~~~ #include <stdio.h> #include <stdint.h> int main(void) { uint16_t LiquLev; uint16_t LiftParamR1Vol = 1300; LiquLev = (float)-4E-7*(((LiftParamR1Vol) * (LiftParamR1Vol) - 1012500.0 * LiftParamR1Vol + 75000.0)); printf("LiquLdev: %d\n", LiquLev); } ~