-
Thread
HD44780 - EMI Problem
der 230 V Seite, Printnetzteil von Meanwell zur Versorgung des Nano und Kleinkram) versorgt das 2x16 HD44780 Display über 4 Datenleitungen. Das Kabel zum Display ist geschirmt und ca. 50 cm lang. Schirmung ist mit GND verbunden. RS, RW, E, D4, D5, D6, D7 haben 100 Ohm Serienwiderstände und 15 nF Kerkos
eingeben, Standart-Zeiten programmieren (nur die Zeit im nichtflüchtigen Speicher ablegen. Bei einer 16er Tastatur kannst du z.b. bei einer MENO-Taste dann 10 Werte fest o. Variable hinterlegen. Auf Wunsch sogar mit Beschreibung. Da gibt es gigantische Möglichkeiten.
-
Thread
Einen Softcore (AVR) an andere FPGA anpassen?
XMEGA_FLAG_S] = 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
Projekt eingebunden. Ich habe den Autor schon daraufhin kontaktiert. Ich versuche ja nur den ATmega32U4 in eine Anlogic Egle4 FPGA zu portieren.
-
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]
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 == int32_t.
-
Thread
AtMega Pin- und Funktionskompatibel
, kann man dazu nichts sagen. Der ADC-Code ist ja auch unbekannt. Die ADC-Funktionen wurden vom ATmega16 zum ATmega164 etwas erweitert. Preislich sollten die neueren Typen sogar günstiger sein.
woanders und heißen auch anders und haben andere Funktionen. Das Dokument "AVR505: Migration between ATmega16/32 and ATmega164P/324P/644P" aka "Microchip doc8001.pdf" hast du dir schon mal angeschaut?
-
Thread
I2C Zwischenspeicher für RasPi - ATmega 400kHz
Hallo, ich programmiere einen ATmega als I2C slave, den man mit wie üblich ansteuern kann: Registernummer senden, dann Register lesen/schreiben. Das funktioniert problemlos, wenn der Master ein anderer ATmega ist, führt aber zu Problemen
beim repeated start. Den repeated start vollführt er nämlich, während der ATmega den clock stretcht. Der ATmega bemerkt den repeated start also nicht. Das Problem liegt also eindeutig beim RasPi. Dennoch möchte ich, dass mein ATmega auch von einem RasPi angesprochen werden kann
-
Thread
CNC - Lohnfräsen aus Chine
ausreichen (weiß nicht aber dort ist eventuell noch kein Controller dabei? Grbl auf nem Arduino/Atmega kostet auch nicht all zu viel) Leiterplatten Isolationsfräsen ist sowieso was ganz nützliches, das können die billigen Dinge allemal. Und nen Satz billige Fräser sind am Anfang sicherlich auch
wie kann ich das verbessern gab's eigentlich keine Rückantwort. Die größten Teile habe ich mit nem 16mm Fräser abgenommen, den Rest mit nem 6mm Fräser also eigentlich nichts spannendes. Nachdem ich es selber gefräst habe fand ich das schon merkwürdig. Das Teil hat mich eine Woche gekostet, aber davon
-
Thread
Empfehlung für Mehrkanal Datenrekorder?
16) Digitalkanäle mit ~100kHz Auflösung (es müssen einige Digitalsignale dekodiert werden, insb. AB Signale > 1kHz) Daten müssen sich kontinuierlich triggern lassen (teilweise mit einer komplexeren logic
Beitrag #6813484: > mind. 8 Analogkanäle mit mind. 8bit und jeweils mind. 1kHz > mind. 8 (besser 16) Digitalkanäle mit ~100kHz Auflösung (es müssen > einige Digitalsignale dekodiert werden, insb. AB Signale > 1kHz) Salea Logic 8/16 oder Digilent Analog Discovery. Software über Python / Sigrok.
-
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
topic/350952#3900014 oder https://www.mikrocontroller.net/topic/517811#6678474 oder wenn es ein ATmega sein soll https://www.mikrocontroller.net/topic/233699#2365020 Aber vielleicht erbarmt sich ja jemand, dem TO die Einstellungen für HAL zu nennen. Was dort anzuklicken ist, ist ja weder zündend
-
Thread
Arduino Nano interner Temperatursensor auslesen
genaueren hinschauen. Deshalb mein Hinweis. Ich habe vor 18 Monaten mehrere 'WAVGAT Pro Mini ATMEGA328P 328 Mini ATMEGA328 5V 16MHz' Boards bei AliExpress bestellt, und bekommen habe ich Boards mit einem 'AVGA328P' (= LGT8F328P) Chip. Das habe ich aber erst bemerkt, als ich die Boards mit einem Blink-Sketch
einsichtig. Ja, so geht das hier...... Merke: Ihm hat einen Nano mit einem stinknormalen ATMega328P. Nicht mit dem automativen ATMega328p! Ist es jetzt angekommen. Und nein! Ihm sagt nirgendwo, dass er einen automativen ATMega verbaut hat. Das gibt es nur in deiner Fantasie!
-
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
Werz schrieb im Beitrag #6811844: > LiquLev und LiftParamR1Vol ist vom Typ uint16 schon mal überlegt wofür das 'u' in uint steht?
-
Thread
Attiny85, suche Möglichkeit zur Kommuikation/Daten auslesen
Möchte nochmal das Thema aufgreifen. Mittels [c]uint16_t wert_eep EEMEM[/c] reserviere ich mir Speicher im EEPROM Ich schreibe auf einem Atmega168P den als decimal lautenden Wert: 448. Klappt soweit, wird beim nächsten Programmstart auch wieder als 448
Neo. Der kann dir gleich die Daten als Zahl anzeigen, wenn du ihm sagst du erwartest hier eine uint16_t o.ä.
-
Thread
Der perfekte USB-UART-Konverter
Beitrag #6809857: > Wie wäre es mit dem FT230XS. Hat alle Basics, die man meist so braucht. > TSSOP16, einfach lötbar. 16 Pins sind ihm zu viele - so habe ihn jedenfalls verstanden.
überhaupt nichts. Bauform B. schrieb im Beitrag #6809916: > Mich stören 28 Pins (z.B. FT232R) wenn 16 auch reichen. Der FT230XS hat 16 Pins (SSOP)
-
Thread
Grundfrequenz eines Signals mit AVR messen
einzig die Frage, wieviele Stellen angezeigt werden sollen: 4 - 8, 4xLCD, 5x7-Segment, 6x7-Segment, 2x16 LCD-Modul, ATtiny45, ATtiny2313, ATmegaXXX, Arduino - alles kein Problem. Anton G. schrieb im Beitrag #6808716: > Ich vermute, dass > das bei anderen Signalarten, wie Sinus oder Säge, nicht so einfach
die Frage, wieviele Stellen angezeigt werden sollen: 4 - > 8, 4xLCD, 5x7-Segment, 6x7-Segment, 2x16 LCD-Modul, ATtiny45, > ATtiny2313, ATmegaXXX, Arduino - alles kein Problem. Wenn du jetzt auch noch verrätst, wie das Signal aufbereitet werden muss, um eine Qualität der Zeitmessung zu erreichen
-
Thread
atmega4808 mit microchip ICD3 programmieren/debuggen UPDI interface
Windows Toolchain ergänze ich aus dem Atmel Device Pack folgende Dateien. [code] QUELLE: Atmel.ATmega_DFP.1.7.374.atpack\gcc\dev\atmega4808\avrxmega3\ ZIEL: avr-gcc Ordner\avr\lib\avrxmega3\ Dateien: crt*.o lib*.a REM ------ FAMILIE: atmega ------ HEADER: iom ------------------------ QUELLE
Jan Jans schrieb im Beitrag #6826409: > was unterscheidet denn die "TWI-Register" des ATMEGA4808 von denen der > anderen > angegebenen Controller, z.B. dem ATmega328?
-
Thread
7 Segment Multiplexing Zähler
Hallo an alle! Ich möchte mit meinem ATMega8 vier 7 Segment Displays hochzählen lassen. Also von 0-9999. Leider bin ich bisher darin echt nicht bewandert und möchte, bevor ich selber meinen Code schreibe, zunächst einmal an einem Beispielcode
(0x06), ~(0x5B), ~(0x4F), ~(0x66), ~(0x6D), ~(0x7D), ~(0x07), ~(0x7F), ~(0x6F)}; volatile uint16_t x = 0; volatile uint16_t y = 0; void seven_write(uint16_t i_digit) { PORTD = damn[i_digit]; } int main(void) { DDRB |= (1 << PB0); DDRC |= 0x1E; DDRD |= 0x7F; PORTD = 0x7F
-
Thread
Bitfeld zuweisen: Warum optimiert der Compiler nicht?
Hallo zusammen, ich habe eine 16-Bit-Variable und ein 16 Bit breites Bitfeld. Die Reihenfolge im Bitfeld entspricht der Bit-Reihenfolge unter Berücksichtigung der Endianness. Die Definition des Bitfelds sieht so aus: [c] typedef
in: Eingangs-Vektor * @return normalisierter Ausgangs-Vektor */ static_inline uint_fast16_t input_normalize(uint_fast16_t in) { /* Active-High-Pins markieren */ uint_fast16_t x = 0; if( SWITCH_KEY0_ACTIVE_LEVEL ) x |= SWITCH_KEY0;
-
Thread
230V messen die 1000te
Vor 13 Jahren habe ich einen 380V Netzspannungswächter mit ATmega8 Mikrocontroller gebaut. Ich habe diese Schaltpläne verwendet.
bekommt die Kiste womöglich nicht mit. Da hilft nur Datenblatt lesen, bzw.. kennt jemand einen guten 16Bit SPI-ADC der auch gut zu bekommen ist.. irgendwie ist da sAngebot beim Großen C nicht so riesig.
-
Artikel
Plattformunabhängige Programmierung in C
Dezimal) o (Oktal) u (Dezimal) x (Hex) X (Hex) (u)int8_t PRId8 PRIi8 PRIo8 PRIu8 PRIx8 PRIX8 (u)int16_t PRId16 PRIi16 PRIo16 PRIu16 PRIx16 PRIX16 (u)int32_t PRId32 PRIi32 PRIo32 PRIu32 PRIx32 PRIX32 (u)int64_t PRId64 PRIi64 PRIo64 PRIu64 PRIx64 PRIX64 (u)int_fast8_t PRIdFAST8 PRIiFAST8 PRIoFAST8 PRIuFAST8 PRIxFAST8 PRIXFAST8 (u)int_fast16_t PRIdFAST16 PRIiFAST16 PRIoFAST16 PRIuFAST16 PRIxFAST16 PRIXFAST16 (u)int_fast32_t PRIdFAST32 PRIiFAST32 PRIoFAST32 PRIuFAST32 PRIxFAST32 PRIXFAST32 (u)int_fast64_t PRIdFAST64 PRIiFAST64 PRIoFAST64
-
Thread
Datenübertragung ohne Schnittstellen
kann in etwa hinkommen eine CD hat ja um die 700 MB und das reicht für knapp 60 Minuten Audio bei 16 Bit PCM 44k1. Deine Rechnung ist trotzdem grundlegend falsch. Du kannst nicht die vollen 16 / 24 Bit für die Rechnung verwenden. Wir hatten mal Versuche gemacht das LSB eines PCM Streams zur Datenübertragung
dafür nicht im Kopf hat, kann man es auch gerne vom Blatt tippen. https://newbedev.com/crc-ccitt-16-bit-python-manual-calculation
-
Thread
ATMega8 interner ADC
Hallo alle miteinander! Ich möchte mit meinem ATMega8 Spannungen einlesen und diese dann mittels LED Anzeige ausgeben lassen (also bitweise Darstellung). Hier ist schonmal mein Code: [c] #include <avr/io.h> #include <avr/interrupt.h> volatile uint16_t c = 0; void out (volatile uint16_t value); int main(void) { DDRB |= (1 << PB0); DDRC |= 0x3E; DDRD |= 0xF0; ADMUX = 0x0000; ADCSRA |= (1<<ADFR) | (1<<ADEN) | (1<<ADPS2);
-
Thread
Ds18B20 Zeigt zu höhe Werte
Beitrag #6803110: > Dennis T. schrieb: >> Hier sind meine Fuses E:07, H:D9, L:57 > > Ist auf 16MHZ gestellt Ist er nicht. Mit den Einstellungen bekommt der uC einen Takt von 2MHz. Guck dir mal das CKDIV8-Bit an. https://eleccelerator.com/fusecalc/fusecalc.php?chip=atmega328p
Beitrag #6803031: > Das Timing passt nun auch, allerdings bei > #define F_CPU 2000000L obwohl ich ein 16mhz Quarz habe?
-
Thread
LED dimmen mit Fading oder lieber mit PWM
Falk B. schrieb im Beitrag #6802441: > Wenn dein Tiny keinen 16 Bit Timer > hat, muss man es halt mit einem 8 Bit Timer machen. Auch eine glatte Lüge! Wer es kann, nimmt eine 16/32bit variable als SW counter und einen 8bit HW counter für das inc/dec interval
/ pulse width uint8_t i; // index int8_t incr = 1; // increment uint16_t count; // loop counter uint16_t top = 2000; // loop counter top int main(void) { _PROTECTED_WRITE(CLKCTRL.MCLKCTRLB, (CLKCTRL_PDIV_10X_gc | CLKCTRL_PEN_bm)); // main clock
-
Thread
Coundown Timer
die Bezeichnung der isr nicht mehr stimmt ? ISR (SIG_OUTPUT_COMPARE1A) Ich nutzte erst einen atmega8 und dann einen atmega8a der aktuell jetzt auch verbaut ist.
stimmt ? Das müsste der Compiler reklamieren. Statt ISR (SIG_OUTPUT_COMPARE1A) für den ATmega8A ISR (TIMER1_COMPA_vect) nehmen und neu kompilieren, dann aber gleich für den ATmega8A (letzteres könnte dennoch für beide funktionieren).
-
Thread
Unbenutzte Funktionen beim kompilieren
staticTest.h [c] #pragma once #include <avr/io.h> #include <stddef.h> constexpr uint16_t var {100}; static constexpr uint16_t varStatic {100}; [/c] staticTest2.h [c] #pragma once #include <avr/io.h> #include <stddef.h> constexpr uint16_t var {100}; static constexpr uint16
} [/c] Fehlermeldungen soweit okay, hatte vorhin was falsch gemacht [c] 'constexpr const uint16_t var' previously defined here > staticTest.h 'constexpr const uint16_t varStatic' previously defined here > staticTest.h redefinition of 'constexpr const uint16_t var' > staticTest2
-
Thread
Ansteuerung eines 7-Digit-Displays
Auf Seite 4 des Datenblattes ist doch die Pinbelegung abgebildet. Du brauchst 16 IO-Pins des MCs und 16 Vorwiderstände. Oder einen Treiber-IC, z.B. MAX7219.
Peter D. schrieb im Beitrag #6799906: > Du brauchst 16 IO-Pins des MCs und 16 Vorwiderstände. Oder 8 Pins, ca. 10 Widerstände und zwei Transistoren. Dann muss man allerdings die beiden Anzeigestellen *multiplexen* Aber auch dafür gibts jede Menge Videos
-
Thread
TWI mit 14,7456 MHz Quarz nur auf 11,3kHz Bustakt
Liebe Kollegen, ATMEGA644 (5V), Quarz 14,7456 MHz TWI Konfiguration: #define F_CPU 14745600UL #define SCL_CLOCK 100000L TWBR = ((F_CPU/SCL_CLOCK)-16)/2; (ergibt 0x41) Das sind gemessen aber nur 11,3 kHz Bustakt
-
Thread
Kleines Projekt einer universellen Steuereinheit+Bedienteil, Bitte um Feedback ;-)
ca. 2.5V seinen RST-Ausgang an. Damit sollte man den MCP resetten. Und vielleicht auch den Mega16. Dem DAC würde ich noch ein 5V-Filter spendieren, so ähnlich wie für AVCC.
100nF (am Rand) platziert. Möglicherweise reichen die nicht oder sind zuweit von den Vcc weg (der Atmega hat ja schon drei…)
-
Thread
gibt es kostenlose Alternative zu Step7/TIA-Portal?
TIA Portal version and software needed for as long as it is needed. Available for TIA Portal V15, V16 and V17. There will be corresponding packages for the two new license types." Michael
Instruction List, Function Block Diagram or Sequential Function Chart. Ich habe das mal auf einem ATMEGA328 getestet. Funktioniert, beeindruckend. Das ist natürlich nicht mit Siemens, B&R und der Codesys-Welt vergleichbar. Aber braucht man das immer. Es entwickeln sich auch offensichtlich Hardwarehersteller
-
Thread
ATmega328p fehlerhafte UART-Anzeige mit bootloader
... https://github.com/MCUdude/MiniCore/tree/master/avr/bootloaders/optiboot_flash/bootloaders/atmega328p Je nach Ergebnis dann die Schlussfolgerung ziehen.
hier: https://github.com/MCUdude/MiniCore/tree/master/avr/bootloaders/optiboot_flash/bootloaders/atmega328p
-
Thread
VCF für μC-Synthesizer
akzeptabel (weil genauso gewünscht). best, Stefan PS: das Messgerät hat übrigens 1M/Samples bei 16Bit
geht, weil ein Dynamikverlust durch Speicherung in 8 Bit statt 16 durch nichts auszugleichen ist.
-
Thread
C: Viele Funktionen zur Auswahl
/* Wiederholt die gleichen zwei Bytes senden */ exit_t tft_ili9xxx_8bit_putRpt(uint8_t cmd, uint16_t data, size_t nRpt); /* 1-Bit-Bitmap schreiben ohne Puffer */ exit_t tft_ili9xxx_8bit_putBitmap(uint8_t cmd, const uint8_t *data, size_t nBit, uint16_t val0, uint16_t val1); /* Auslesen */ exit_t
uint8_t cmd, const uint8_t data[], size_t len); exit_t tft_ili9xxx_spibb_putRpt(uint8_t cmd, uint16_t data, size_t nRpt); exit_t tft_ili9xxx_spibb_putBitmap(uint8_t cmd, const uint8_t *data, size_t nBit, uint16_t val0, uint16_t val1); exit_t tft_ili9xxx_spibb_get(uint8_t cmd, uint8_t data[], size_t
-
Thread
Wandlung von einem char (Dezimalzahl) in Integer
Hallo, mache gerade meine ersten Gehversuche mit einem Atmel und dem Microchip Studio. Habe einen ATMega88 per serieller Schnittstelle und USB Wandler am PC hängen und möchte darüber mit dem uC "sprechen", also Befehle übermitteln. Nutze dafür die Lib von Andy Gock (<https://github.com/andygock/avr-uart
Folgendes Konstrukt habe ich (könnt auch alles haben, aber sind sind zig Seiten Code): [c] char str[16]; // Zaehler der die Laenge des aktuell empfangenen Kommandos vom USART enthaelt unsigned char command_count; // Puffer fuer einen Befehl der ueber die USART Schnittstelle empfangen wird anlegen
-
Thread
Freescale Freedom-Boards (FRDM-KL2xZ) veraltet? Alternativen?
dieses Testprojekt, das folgendes macht: Es sollen 2500 Spannungen (Widerstandsmatrix) über einen ext. 16-bit ADC inkl. Ansteuerung erfasst werden und zwar 10x bis 100x pro Sekunde. Eine Messung ist also die Erfassung von 2500 16-Bit Werten = Matrixgröße, die vom ADC über DMA (SPI Verbindung mit Interrupt
Problem, deswegen habe ich oben mal grob den Aufbau erklärt (sieben Shift-Register hintereinander, drei 16-Bit analog Switches parallel, 4-Kanal synchr. 16-Bit ADC). Ich denke, so ein *Pi kommt zeitlich ins Schleudern, wenn neben der Messung noch andere Dinge auf einmal dazwischen kommen. Frank K. schrieb
-
Thread
Zugriff auf C-Array (Progmem) aus Inlineassembler AVR 8-Bit.
" "ldi r31, pm_hi8(data) \n\t" "lds r16, (offset) ; range [0..255] ! \n\t" "asr r16 ; shift down by two bits \n\t" "asr r16 ; so range is [0...63]
\n\t" "ldi r31, hi8(data) \n\t" "lds r16, (offset) ; range [0..255] ! \n\t" "lsr r16 ; shift down by two bits \n\t" "lsr r16 ; so range is [0...63] \n\t" "add
-
Thread
ILI9486 8-Bit Parallel Bus deutlich langsamer als SPI
hat eh zu wenig RAM für solche Spielereien. Naa, ich habe das ganze Projekt schonmal auf ein ATMega328P mit 16 MHz aufgebaut das ging noch nur hat mich die geringe Refresh Rate gestört und das mir der FLASH ausgegangen ist. Mfg
#4407635: > Ich komme damit für den Vorgang des Display Löschens auf nur 90ms Dauer > (480x320 Pixel a 16 Bit). Auf einem ATMega644 mit 20MHz.
-
Thread
Arduino Com Port kommunkation mit Messgerät
Der Mega hat den ATmega2560-Prozessor. Der hat 4 serielle Ports die Du benutzen kannst.
EAF schrieb im Beitrag #6786832: > Das ist sehr wohl ein Problem. > Denn er 16U2 wird nicht von Hause aus unterstützt. Und wer sagt er muss den 16U2 nutzen? Er kann einfach 2 USB-UART Wandler oder einen Dual-UART USB Adapter nehmen und an 2 seiner UARTs damit fahren. Fertig.
-
Thread
CP/M auf Atmega8515 mit XMEM
Fall ja, wie wird darauf zugegriffen? Nein, das ist nur ein Levelshifter für die SD-Karte. Der Atmega8515 ist für 16 MHz bei 5 V spezifiziert, aber SD-Karten wollen 3.3 V für Versorgung und Datenleitungen. Diese Fassung hat einen ordentlichen Pegelwandler verbaut, die meisten anderen hängen nur einen
Hier 2 Fotos von der fertig bestückten und gut funktionierenden Platine. Da A16 zur Ansteuerung des 2. 64K Blocks mit PE2 des ATmega8515 verdrahtet ist, sollte man dieses (hier noch nicht genutzte) Signal zu Beginn vom main.asm initialisieren z.B. (sbi DDRE, 2, cbi PORTE, 2). Wie
-
Thread
Temperaturmessung bis -90°C
PT1000 und UTI 03 - den gibt es auch als DIL16 https://www.smartec-sensors.com/cms/media/Datasheets/UTI%20interface/UTI_datasheet.pdf mfG Thomas
liefert im Bereich -100° - 0° C eine Spannungsdifferenz von > 1 V und somit rund 10 mV/K. Der ADC des ATmega328 hat eine Auflösung von < 5 mV @ Vcc 5 V, weshalb die Auflösung besser als 1 K ist. Wozu dann noch die ganzen "Spezialbauteile", wenn der µC schon alles Notwendige auf dem Chip hat?
-
Thread
ATmega4809 Quarz
Hallo, der ATmega4809 hat einen Interne Frequenz mit 32.768 kHz. Ich will damit eine Uhr betreiben. Ich habe aber leider nach kurzer Zeit recht hohe Abweichungen von der "Vergleichs Uhr (PC)". Ist der Oszillator zu
Hallo, BesorgterBürger schrieb im Beitrag #6778943: > der ATmega4809 hat einen Interne Frequenz mit 32.768 kHz. Ich will damit > eine Uhr betreiben. Ich habe aber leider nach kurzer Zeit recht hohe > Abweichungen von der "Vergleichs Uhr (PC)". Ist der Oszillator
-
Thread
Zufallszahlen einfach erzeugen
aktives Bauteil, welches ein digitales Rauschen (CMOS-Pegel) ausgibt, welches man direkt mit dem atmega einlesen kann.
Jan schrieb im Beitrag #6778502: > Wie es der Titel schon sagt, brauche ich in meinem atmega gute > Zufallszahlen Wie gut?
-
Thread
Geländefahrzeugsteuerung mit Arduino - Codingproblem
2,4%. Das >könnte schon noch gehen. Vielleicht hab ich einfach nur meinen Klugscheißer-Tag: Bei 16MHz steht im BaudrateRegister je nach Mode entweder 8 oder 16. Der Atmega kann daraus als kleinste Änderung nur 9 oder 17 im BRR speichern. Das ergibt eine Abweichung von 1/8 oder 1/16, also 12,5% oder
Kommst du bei 16MHz auf einen Fehler von 2,1%. MfG Spess
-
Thread
Atmega32 Timer Quarz Kalibration
Wenn ich beim Atmega32 ein 16MHz Quarz verwende aber eine viel zu große Zeitabweichung habe, ich aber den Timer auch nur zur Kapazitätsmessung etc benötige, wie kann ich das per Software für alle Teile des Progamms anpassen
Peter tr. schrieb im Beitrag #6775729: > Wenn ich beim Atmega32 ein 16MHz Quarz verwende aber eine viel zu große > Zeitabweichung habe ... ... dann solltest du klären, was der Grund dafür ist. Per Software: F_CPU oder wie auch immer die Quarzfrequenz in
-
Thread
Servosignal mit ATMega328P ausgeben
avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> volatile uint16_t T1Ovs1, T1Ovs2; //Counts overflovs volatile uint16_t Capt1, Capt2; volatile uint16_t Capt3; //Variables holding three timestamps volatile uint16_t Flag; //capture Flag uint16_t high_zeit = 0;
sei(); //globale Interrupts erlauben } ISR(TIMER1_CAPT_vect) //capture ISR { volatile uint16_t a=Capt1; volatile uint16_t b=Capt2; //volatile uint16_t c=Capt3; if (Flag==0) { TCCR1B&=~(1<<ICES1); //erfassen der fallenden Flanke Capt1=ICR1; //Zeitstempel speichern T1Ovs2
-
Thread
Problem,ATmeg1284p brennen auslesen und erneut das neue hex-File in einen andern ATmega1284p brennen
Geschätztes Forum, vor Jahren schrieb ich ein Assember-Programm, brannte es in ATmega1284p. Nun wollte ich das Programm aus dem ATmega auslesen und in eine anderen ATmega1284p brennen. Beim Brennvorgang plötzlich eine Fehlermeldung: "Original- und gelesene Daten haben unterschiedliche
ATmega's brennen. Demnach könnte mit der ausgelesenen Datei aus meinem Orginalgerät etwas nicht stimmen. Die Fuses sind bei allen ATmega's gleich. Anfangs dachte ich, dass eventuell die Hardware