-
Thread
ATMEGA32 USART sendet ein Zeichen zuviel
1024 / 100; //Berechnet die Taktzyklen, die für 10ms gewartet werden müssen //Bei 14,7456 MHz und einem Prescaler von 1024 muss man 144 Zyklen warten für 10ms pt_1 = &ms; //Globalen Pointer auf die ms Variable erstellen //Timer initialisieren OCR2
+= (uint16_t)u8Len; scRs232.au8TxLen[scRs232.u8TxInp] = u8Len; if ( ++scRs232.u8TxInp == u8Max ) scRs232.u8TxInp = 0; scRs232.au16TxRef[ scRs232.u8TxInp ] = u16Array; scRs232.u8Msg++; } ISR ( USART1_UDRE_vect ) { //-- lokale Variablen ------------------------------------
-
Thread
Grafikfähiger LCD Controller für 320x240 LCD mit 4 Graustufen
wer 2 von diesen Winbond S-Rams abzugeben?? Dann hätte ich auch interesse an einer Platine MFG Max
(GD_Y_MAX - y1); uart1_put (x2); // Obere rechte Ecke uart1_put (x2>>8); uart1_put (GD_Y_MAX - y2); uart1_put (fill_color); uart1_put (frame_color); [/c]
-
Thread
großes Programm funktioniert nicht
Configuration ********************************************************/ #pragma config OSC = HS //CPU=14.7456 MHz #pragma config PWRT = OFF //#pragma config BOR = OFF #pragma config WDT = OFF //Watchdog Timer #pragma config LVP = OFF //Low Voltage ICSP //#pragma config STVREN = OFF //Steck Full/underflow
Ebene 3 C3 - E_Latch Ebene 4 C4 - E_Latch Ebene 5 C5 - E_Latch Ebene 6 C6 - TX MAX232 C7 - RX MAX232 PORTD D0 - E_Latch 1 AN D1 - E_Latch 2 AN */ #pragma code unsigned char LED[37]; unsigned char s, e, x, i; unsigned int time, t; // Init() /
-
Thread
Wanderkiste Widlar, Runde V
nachfolgendem 7805 für galvanisch getrennte 5V. Sowas hab ich mal probiert. Der 7106 braucht afair 1-2mA max, der Konverter selbst >50mA und wird dabei gut warm. Wirkungsgrad daher "unterirdisch". Ich habe dann einen SOT23-6 Boost Regler und einen RM6 Kern (RM4 war nicht zur Hand) genommen. Damit stimmte dann
sind im wesentlichen Allgemeines Zeug aber es gibt ein paar interessante Kleinigkeiten: [code] 1x MAX7456: Das ist ein OSD Generator für PAL/NTSC 2x MAX9526: NTSC/PAL Video Decoder. Man kann aber so konfigurieren, dass es ein 54Ms/s 10Bit ADC mit Parallel Out wird. 5x 500V DC/10A Sicherung 10x38,
-
Thread
Alles was man zum Einstieg braucht?
OTk4OTY4&ts=0 Die hatten auch mal eines ohne Funk-Option - finde ich aber gerade nicht mehr. Ggf. 14,7456 MHz nachbestellen - ist für die Serielle Kommunikation geeigneter und nicht viel langsamer als 16 MHz Mit dem Board habe ich angefangen. Das STK500 kommt morgen ;) >1. Bauteile-Set (18,41 Euro
Da du in Richtung Mikrocontroller gehen willst: LCD (2*20 oder 4*20 Zeichen) auf jeden Fall ein MAX232 (wäre zb auf der Komplettplatine schon mit drauf, inklusive RS232 Stecker). Dazu brauchst du noch 5 Kondesatoren a 1µF, RS232 Stecker und natürlich ein passendes serielles Kabel zum PC (falls
-
Thread
C: Programm mit Textanzeige für mehrere Sprachen
en_msg_result[] PROGMEM ="Final Result"; // short form for 1st, 2nd, 3rd, half time, NO ASCII encoding, MAX7456 code! char en_msg_halftime_A [3] PROGMEM = {0x01, 0x02, 0x03}; // "123" char en_msg_halftime_B [3] PROGMEM = {0x6A, 0x6B, 0x6C}; // "st nd rd", special chars char en_msg_penalty
/ // Diese Spalte Hier Sprachtext eintragen // nicht verändern! "...max.20 Zeichen..." #define temperature "temperature " #define in_Celsius "in Celsius:" #define Contact_force "Contact force" #endif lcd_puts(temperature); Gruß
-
Thread
SD Karte mit FatFs über SPI an Atmega, wie kann man die Schreibgeschwindigkeit maximieren?
ich möchte mit einem Atmega32 (2kB SRAM) Daten auf eine µSD Karte speichern. Der µC läuft mit 14,7456MHz, SPI läuft mit einer Endgeschwindigkeit von fosc/2 und zum Beschreiben der Karte benutze ich Elm Chan's FatFs (R0.13). Die 8 Analogeingänge (mit 10 bit) des Atmega möchte ich mit je 1kHz auslesen
"SD2","USB","USB2","USB3" #define FF_MULTI_PARTITION 0 #define FF_MIN_SS 512 #define FF_MAX_SS 512 #define FF_USE_TRIM 0 #define FF_FS_NOFSINFO 0 #define FF_FS_TINY 1 #define FF_FS_EXFAT 0 #define FF_FS_NORTC 0 #define FF_NORTC_MON 1 #define FF_NORTC_MDAY 1 #
-
Thread
Problem mit Ulrich Radigs Stack (V1.2.5)
zwei Meldungen sind verdächtig: Packet wird erneut gesendet STACK:0 und Eintrag wird entfernt MAX_ERROR STACK:0 Die Sources (inkl. makefile) sind an meine Hardware angepasst. Sie besteht aus: - ATmega64 mit 14.7456MHz Quarz (fuses sind richtig gesetzt) (nein, die COMP-fuse ist nicht aktiv
Packet wird erneut gesendet STACK:0 TCP SrcPort 0080 enc_send: 1050 bytes Eintrag wird entfernt MAX_ERROR STACK:0 TCP SrcPort 0080 enc_send: 54 bytes // Internet Explorer auf 192.168.1.99/index.htm losgelassen (und nichts erhalten) enc_receive: EPKTCNT=1 enc_receive: 66 bytes TCP Entry neuer
-
Thread
Brauche Tips beim Oszikauf
sein - AVR Tiny45 als programmierbarer Taktgenerator und der 14pinner in Fassung. Kabellänge jeweils max 2cm.
komme ich ja schon an die Grenze, wenn ich 4kanalig an einem Mikrocontroller messe, welcher mit 14.7456 MHz getaktet ist.
-
Thread
IRMP - Infrared Multi Protocol Decoder
man die für : #define MATSUSHITA_START_BIT_PULSE_LEN_MIN #define MATSUSHITA_START_BIT_PULSE_LEN_MAX #define MATSUSHITA_START_BIT_PAUSE_LEN_MIN #define MATSUSHITA_START_BIT_PAUSE_LEN_MAX und #define SAMSUNG_START_BIT_PULSE_LEN_MIN #define SAMSUNG_START_BIT_PULSE_LEN_MAX #define SAMSUNG_START_BIT_PAUSE_LEN_MIN
und 0 = 1 ? dem MAX anbauen ist schwierig, weil 1. kein max232 in der Kiste, aber in der Datenbank, aber max233 in der Kiste aber nur SMD und da muss ich löten, dito macht sub-d in dem steckbrett keinen sinn und in smd
-
Thread
AVR-GCC: UART mit FIFO
Ausgabeindex. Gegenüber Pointern ergibt sich dadurch kürzerer und schnellerer Code. In der Regel reichen max 258 Byte Empfangspuffer (HW-Puffer + SW-Puffer) aus. Sind beide Indexe gleich, dann ist nichts im Puffer. Die Eingabefunktion (Receiveinterrupt) schreibt was in den Puffer und erhöht ihren Index. Die
wahnsinnig! Ich habe das obige Projekt für meinen UART verwendet (Benutze einen Atmega644 20PU mit 14,7456MHz). Folgendes: Wenn ich das Projekt auf meinen Atmega flashe, sendet dieser stetig "A4". Er sendet kein "Hallo Welt" usw. Ich verstehe einfach meinen Fehler nicht. Das Projekt ist soweit unverändert
-
Thread
Datensatz aus UART "gewinnen"
klappen. Richtige Abhilfe: Baudratenquarz ( die mit der "krummen" Frequenz ) verwenden ( z.B. 14.7456MHz - da ist der Baudratenfehler dann 0 ) Gruss, Rainer
Datensätze übersprungen werden ist es egal. Siehe Punkt oben. * Als Pegelwandler benutze ich einen MAX3233, mit der im Datenblatt angegebenen Standardbeschaltung - Funktioniert seit Jahren ohne Probleme. * Die "Logik" der Flags stimmen, die habe ich mittels Logicanalyser visualisieren lassen. *
-
Thread
USB-Stick am Mikrocontroller VNC1L
_delay_ms() und _delay_us() haben Beschränkungen. >Im Manual zum WINAVR steht bei >_delay_ms() : max 262ms / F_CPU (in MHz) >_delay_us() : max 768us / F_CPU (in MHz) >Bei 10 MHz kann man also maximal 26ms Verzögerung erreichen. >_delay_ms(500) wird somit keine 500ms Wartezeit erreichen. Das war
>Jup! Ja der fehler lag natürlich im fehlenden max202. Und er lebt noch?
-
Thread
AVR - Lastkapazität bei Quarzen - Berechnung vs. Praxis
hc49u-s-p32844.html?search=7%2C3728 https://www.reichelt.de/standardquarz-grundton-14-745600-mhz-14-7456-hc49u-s-p68890.html?search=14%2C74 Dieter D. schrieb im Beitrag #7375613: > https://www.mikrocontroller.net/articles/Quarze_und_AVR Da steht auch nicht mehr, als ich schon eingangs geschrieben
des ATmega48/88/168 finde ich nur die wenig hilfreiche Angabe „Capacitance for each I/O pin … 10 pF Max.“ – also nur Maximalwert, nix typisch. C-hater schrieb im Beitrag #7375644: >> Wie kommt nun diese >> Differenz zwischen dem Berechnungsergebnis und den in der Praxis >> eingesetzten Werten zustande
-
Thread
Laptimer Projekt mit Magnetschleife (Atmega8)
lap_status == 1) // Wenn Induktionsschleife das erste mal überfahren wurde { overflow_ticks++; // max. 65536 da 16Bit Variable } } [/c]
lap_status == 1) // Wenn Induktionsschleife das erste mal überfahren wurde { overflow_ticks++; // max. 65536 da 16Bit Variable } } [/c] Danke erstmal für die Geduld die ihr mit mir hattet.
-
Thread
ILI9341 langsam Verbesserungsvorschläge?
Schau dir mal CASET and PASET an. Als 2. Parameter musst du hier den max. Wert angeben, also 319 und 239. Ist in den sog. "libs" durchgehend falsch.
(IM = 0b1110) 2.) ILI mit 8bit parallel (IM = 0b0000) Das Ganze von einem ATMega 1284p und 14,7456 MHz bei 3.0V befeuert. Identischer Grafiktreiber, der das TFT befüllt. Vollständiges Beschreiben, Auslesen von Icons aus dem Flash, Zeichnen simpler Grafik (Rechtecke, Kreise), Schreiben von Text (Font
-
Thread
Beispielprogramm für RFM12 433MHz Funk-Module
alles umschreiben muss um den code von benedikt für sein 433MHz modul verwenden zu können. Danke, MAX
@Reinhard Max Danke für die ersten Anmerkungen. Wie mache ich es mit dem Interger? Wie verschicke ich binär?
-
Thread
winziger Webserver mit enc28j60+mega32
Dataflash kopiert. Dann hätte man sogar nen Archiv des letzten Jahres und könnte daraus auch direkt min/max übers ganze Jahr plotten :) Bye, Simon
ich voner alten Netzwerkkarte) mit dem ENC28J60 verwenden? Siehe Datenblatt als anhang. gruß, MAX
-
Thread
AVR, xtern. SRAM initialisierung, xmem, makefile, .init funktionen
------------------------------------------- // int main(void) { //volatile unsigned long max_bytes; //INITIALISIERUNG //COM 0 UCSR0B |= (1<<RXEN0)|(1<<TXEN0);// UART RX und TX einschalten UCSR0C |= (1<<URSEL0)|(3<<UCSZ00);// Asynchron 8N1 UBRR0H = UBRR_VAL >> 8; //setzen
Kleine Anmerkung zum Schaltplan. Die Datenleitungen RxD vom MAX zum Controller ist nicht richtig angeschlossen :-). Und ich sehe auch gerade das du einen 128Kbyte RAM verwendest, schließe doch einfach A16 auch mit an den Controller an, dann kannst du die restlichen
-
Thread
DDS normal ?
Schritte. 10 Takte pro Aktuallisierung Phasenfehler ( Jitter ) viel besser. Auflösung fast 8 Bit. max. mfg Werner
511,5+511,5*sin() Durch die etwas kleineren Offsets / Faktoren kommen nicht so viele Min- (0) und Max- (255 bzw. 1023) Werte hintereinander.
-
Thread
ATmega64 spinnt
halte übrigens 16 MHz für UART für ungünstig... zumindest wenn du Standard-Baudraten verwendest. 14,7456 MHz kann ich empfehlen, dann kannst du bessere Teiler verwenden. Welche Kondensatoren hängen an den Quarzen? Stabilisierst du die Spannung ausreichend um den Brown-out-Wert nicht zu unterschreiten
der Fall. Auch ohne UART. Wie gesagt ich habs mal alles auskommentiert und sogar das Modul mit dem MAX232 abgehängt. Das mag auch nach Stochern klingen, aber ich gehe zu 99.9 Prozent davon aus (und wie sollte es auch anders sein, mal ehrlich), dass die Ursache des Programmabsturzes auch in diesem Fall
-
Thread
Digitaluhr mit geringem Stromverbrauch
Ein Treiberchip für 8 Stück LED 7-Segmentanzeigen im 28-poligen DIL Gehäuse. Heute heißt so ein Chip MAX7219 und wird über I2C angesteuert.
weiterlaufen, muß noch ein 32kHz Quarz ran. Für die UART empfielt sich eine genauerer Haupttakt, z.B. 14,7456MHz.
-
Thread
Zeitmessung funktioniert nur so halb :-/
brauchen also einen 3 Byte Zeitstempel + 1 Byte für den Portwert, macht 4 Byte/Eintrag Macht bei 1k RAM max. 256 Einträge Das sollte passen. MfG Falk
Ach, ist ja alles egal, wenns mit 14,7456 MHz auch funktioniert (das wird jetzt dann getestet :-)
-
Thread
einfacher 20m-CW-Sender mit AD9850 und MOSFET
Ausgangs-Leistung irgendwo zwischen 1W und 5W EIRP. Der einstellbare Frequenzbereich soll von 14,00MHz bis max. 14,35MHz reichen (in der Praxis wahrscheinlich bis 14,07MHz). Kenne mich mit der praktischen Auslegung nicht so gut aus. Die erste Frage wäre, wie das AD9850-Modul den Endstufen-MOSFET ansteuern
, damit T1 weniger Basisstrom hat? Im Original wird ein 2N3904 beschrieben; der hat ein Beta von max. 300. Die BC54x-C typen haben ein Beta von mindestens 400. Das sind jetzt eben Bastlerlösungen, ich bin kein Profi. 73 Wilhelm
-
Thread
CP/M auf ATmega88
Ram's V53C104P10L habe ich noch welche da. Max. 20MHz und ggf. noch Wartezyklen.. Peter
@Jens. Ja. Laufen 2 Sticks damit. Aber max. 20MHz. Schicke mir ne Mail an peter.sieg1 (at) gmx (dot) de Peter
-
Thread
Wlan2Serial Modul für 5 euro
klar kommt (z.B. bei AT? )sagt es "no this fun" auf der UART. Meines läuft mit 57600 Baud. Grüße, Max
@Max H. Ist in VB.NET geschrieben. Beispiele für die serielle Schnittstelle findet man im Netz zuhauf....
-
Thread
GLCD Routinen ( KS0108, HD61202 )
Habe ein Arduino Board mit mega2560 (16MHz) Bester Dank im Voraus für eure Antworten. mfg max
höherer Taktrate (Quarz) besser? Ich verwende eine ATmege324pa mit internen 8MHz (will aber auch 14,7456MHz) umsteigen. Danke für eine Antowrt
-
Thread
AVR gegen den Rest der Welt
Z-Buffering in Echtzeit und gleichzeitige Ausgabe auf VGA/TV sowie Bedienung der seriellen Schnittstelle mit max. 250Kb/s. Jörg
Peter Dannegger schrieb im Beitrag #2620093: > Das sind pro Byte 1280 CPU-Zyklen bei 14,7456MHz. Vorsicht: es waren 16 Kanäle mit Auswertung der Daten.
-
Thread
Ausführungszeit ISR
Der übersetzte Code in Assembler sieht ja richtig sub-optimal aus?!? Optimierungen auf max. gesetzt? Man könnte meinen tempdata ist als [c] volatile uint8_t [/c] deklariert.
nicht notwendig, 50..200 Zyklen für einen Interrupt kein Problem. Z.B. UART mit 115200Baud an 14.7456MHz kann sich 1280 Zyklen Zeit lassen, mit Puffer 2560.
-
Thread
Universelle Tastenabfrage
Eine Repeatfunktion mit 10s / 5s Wartezeit ist ziemlich witzlos. In ein uint8_t passen außerdem nur max 255. Max 2,55s bei 10ms Interrupt sollte wohl reichen. Peter
; c << VC::value_type{0x01}; // c << VC::value_type{0x00}; // reset return c.maxReached(); // check } [/c]
-
Thread
DAB+ Modul KeyStone 8650
coolcomponents.co.uk unter "Resources" verwiesen, auch da ist ein Datenblatt. Die Stomaufname ist max. 75 mA auf 1,2V, 70 mA auf 1,8V. Für die 1,2V ist ein LM317 nicht so gut, der geht nur bis 1,25V runter. Ist allerdings noch im Toleranzbereich. Gerrit ist noch nicht auf meine Interfacing-Vorschläge
bei 57600 baud schon bei 2,1%. Vielleicht solltest du einen anderen Quartz verwenden. Mit 14.7456 Mhz würde die Baudrate exakt passen. Alternativ kannst du ja mal das im Arduino Forum genannte 1ms Delay versuchen. Gruß Peer
-
Thread
Bitte um Hilfe mit Verständnis, ISR von Timer usw.
Hong Kong :) Die Platine hat mehrere Bod-Varianten (einschließlich synchron), wozu zwei Quarze, 14,7456 und 16 MHz, umgeschalet werden. Ich bin gespannt, was mir gelingt...
Max schrieb im Beitrag #7350205: > Warum das nix wird mit Afrika. Damit dein Beitrag irgendeinen Sinn ergibt, solltest du zumindest darunter schreiben, *was* das Diagramm darstellt. Da hat jemand im
-
Thread
AVR Bootloader
einstellen, da sonst der Fehler zu groß wird. Für 115200 Baud sollte man Standardquarze vorziehen (z.B. 14,7456MHz) Die erweiterten *def.inc sind in dem *.zip mit dabei. Peter
werde ich wohl öfter den Bootloader einsetzen. :-) Auch wird es Zeit den On-board IR-Port mal mit nem MAX232 als zweiten RS232 Port zur Verfügung zu stellen. Hier nochmal eine Step-by-Step Anleitung (unter Linux) weil ich mir bei manchen Punkten doch etwas unsicher war. Villeicht hilft dies ja dem einen
-
Thread
TJA1020 mit ESP32 betreiben
.buffer_len = 0; }; while(1) { if (xQueueReceive(uart_queue, &event, portMAX_DELAY)) { switch (event.type) { case UART_DATA: int len = uart_read_bytes(UART_NUM, rx_buf, event.size, 10 / portTICK_PERIOD_MS
LIN_SNIFFER: 40 02 | @. I (7451) LIN_SNIFFER: Valid frame - ID: 0x06, Len: 2 I (7456) LIN_SNIFFER: 00 00 | .. W (7461) LIN_SNIFFER: Checksum error - ID: 0x19, Len: 2, Received: 0x61, Classic: 0xAA I (7469) LIN_SNIFFER: 00 55 I (7471) LIN_SNIFFER: Valid frame