-
Thread
CAN Bus Timing
Auf Basis von 15MHz ist das keine Kunst, du hast aber 14,7456MHz. CAN definiert jenseits von 125Kbps offiziell eine Oszillatortoleranz von maximal 0,5%. Du liegst 1,7% daneben. http://pdfserv.maxim-ic.com/en/an/AN2935.pdf
Synchronisationsbereich immer zwischen CANBPS_min = FPCLK/(BRP*(TS1 + TS2 + 1 + SJW) und CANBPS_max = FPCLK/(BRP*(TS1 + TS2 + 1 - SJW) 3. Der Parameter SJW sollte in Abhängikeit von T2 gewählt werden. Es ist nicht sinnvoll SJW größer als TS2 zu machen. SJW = T2 - 1, für T2 < 5 und SJW = 5, für
-
Thread
Probleme mit UART Mega8
multipliziere das mit Ganzzahlen und schau dir die Werte mal an, besonders die, die in der Nähe der Max-Werte der AVRs liegen. Und dann vergleiche deine Ergebnisse mal mit den Tabellen für Baudraten in den AVR-Datenblättern im Kapitel U(S)ART. Dann bedenke, dass alles eine gewisse Toleranz hat. Auch
Baudratenquarze für Mikrocontroller" eröffnest und die Reihe: 1,8432MHz, 3,6864MHz, 7,3728MHz, 14,7456MHz, 18,4320MHz beschaffst und anbietest. Plane mich aber bitte nicht mehr ein, ich habe mich bereits bei CSD eingedeckt, weil Reichelt sie nicht hatte. ;-) Dein BASCOM-Programm ist mir zu kryptisch
-
Thread
14,7456MHz Quarz an Mega8 Fuses?
zusammen, habe mal wieder ein triviales Problem.. Wie sind die Fuses für einen Mega8 mit 14,7456MHz Quarz einzustellen!? big thx
Einstellung für max. 16 MHz: CKOPT=programmed (0) Einstellung für 3 bis 8 MHz (bis 16 MHz wenn CKOPT=Programmed (0)): CKSEL3=unprogrammed (1) CKSEL2=unprogrammed (1) CKSEL1=unprogrammed (1) Einstellung für
-
Thread
Webserver mit MCA20 -Kamera statt MCA25 möglich?
habe mir den ISA-CTRL Webserver nach H.Buss gebaut und er läuft auch. Nun habe ich den Quarz auf 14,7456 MHZ verändert, um eine Kamera ansteuern zu können. Allerdings hatte ich hier nur noch eine MCA20. Der Server läuft zwar an, bleibt dann aber mit den Worten "MCA25:" hängen und ich kann ihn nicht mehr
Kamera MCA20 hat zumindest die gleiche Anschlußbelegung wie die MCA25. In Hyperterminal über einen MAX232 gibt sie:"at+ipr=115200" aus. Mal sehen, ob sich irgendwo die AT-Befehle dafür finden lassen. Hier ist ein Link zur Bezugsquelle: http://cgi.ebay.de/COMMUNICAM-T68i-T300-T310-NEU-SONDERPOSTEN-WIE-MCA
-
Thread
8x8x8 LED Cube - kurze Frage zum Start
8x 74HC574 ICs 16x PN2222 transistors 16x 1k resistors 1x 74HC138 IC 1x Maxim MAX232 IC 1x 14.7456 MHz crustal 2x 22pF ceramic capacitors 16x 0.1uF ceramic capacitors 3x 1000uF electrolytic capacitor 3x 10uF electrolytic capacitor 1x 100uF electrolytic
-
Thread
[V] hobby auflösung
Quarz, 7,3728MHz, HC-49/S 0,20 EUR 0,60 EUR 3 94-230083 Quarz, 14,7456MHz, HC-49/S 0,25 EUR 0,75 EUR 1 94-100916 AT Mega 32-16PU 3,15 EUR 3,15 EUR 10 94-270188 Batterieclip für 9V-Block
max schrieb im Beitrag #1852990: > Rooney Bob schrieb: >> Sag mal, was willst du überhaupt? > > ich schließe mich da an Sieht ganz so aus. Ich geh jetz awa ener petze. Tschö mit Ö.
-
Thread
ATmega328p @ 8Mhz Standalone UART Baudrate einstellen?
/keinem Fehler zu der später verwendete Baudrate passt. Typisch ist hier in aller Regel ein 14.7456MHz Quarz Gruß Christian
0.0% 0.5M 0 0.0% 1 0.0% 1M – – 0 0.0% Max (1) 0.5Mbps 1Mbps [/pre]
-
Thread
Fehler bei UART unter ASM, nicht bei C-Programm
Hallo allerseits, ich nutze hier einen ATmega16 mit externem Quarz (14.7456 MHz). Für UART habe ich einen USB-Serial-Wandler aus dem nur noch RX und TX raus/reinführen. Nach dem Löten prüfe ich den UART immer mit einem C-Programm, welches die empfangenen Bytes wieder zurücksendet
BAUD_REAL*1000)/BAUD-1000) ; Fehler in Promille .if ((BAUD_ERROR>10) || (BAUD_ERROR<-10)) ; max. +/-10 Promille Fehler .error "Systematischer Fehler der Baudrate grösser 1 Prozent und damit zu hoch!" .endif ; ############################################################################
-
Thread
AX81 - ZX81 im AVR
man auch eine externe Matrixtastatur anschließen. LCD, darunter Ersatz-Folientastatur, Gehäuse drum (max. 3 Ecken abrunden, damit es keinen Ärger gibt ;-) und fertig ist das AX81-Tablett... Jörg
Danke. Also 14,7456 und nicht 14,0.
-
Thread
Video overlay
Kompass, Horizont, Batteriestand, GPS, Warnungen angezeigt sind. Dazu wird gerne ein Maxim OSD-Chip MAX7456 oder ein clone dessen eingesetzt. Er ist billig, leicht zu bekommen und hat sich mangels Alternativen durchgesetzt. Leider bringt der IC etliche Nachteile mit sich wie etwa 1-bit Farbe :) und 255
-
Thread
Tastverhältnis 0/4,1/4,3/4 auf STM32 programmieren
gegessen ist und genügend Dokumentation der Sache da ist), hier ein Snip: [c] //ATMega32, F_CPU 14,7456 MHz #define FAM 4600 volatile uint8_t cnt=0,bit=0; volatile uint8_t code[32]={1,3,1,1,1,3,1,3,1,1,1,1,1,1,1,1,1,1,1,3,1,3,1,3,1,0,0,0,0,0,0,0}; //Code A, code[23] = on/off //volatile uint8_t code
frequencyDivNecessary >> 16; // Schiebe 16 Bit nach links, da 16 Bit breite periode moeglich int timerMaxCountValue = ( inputClkFreq / (frequencyDivNecessary + 1) ) / desiredFreqInHz; // Setze Timer auf UB_TIMER2_Init(frequencyDivNecessary, timerMaxCountValue); } [/c] Hoffe das hilft dir.
-
Thread
AVR Ethernet Platine
was auch ich vorgehabt hätte :) Allerdings in xsvfExec.c findet man ab Zeile 336 eben 6 Buffer mit MAX_BITVEC_BYTES Größe, wobei MAX_BITVEC_BYTES = 5 gesetzt wurde. Das funktioniert zwar mit den kleinen CPLD aber bei Altera CPLDs oder FPGA's müsste MAX_BITVEC_BYTES auf mindestens 2048 angehoben werden
Der bei Reichelt doch recht teure MAX3232 CWE (4,75 ) sollte eigentlich durch einen MAX202 ECWE (1,85 ) ersetzbar sein. Wichtig ist hierbei das "W" in CWE bzw. ECWE, da es bedeutet, dass der IC im 300mil breiten Gehäuse kommt. Der MAX202
-
Thread
EMV-Prüfung Problem mit Entladungen auf Masse
noch vor der Spule an das externe Ground gehen? Was haltet ihr von der Dimensionierung? (Baudrate max 50k) NickNack schrieb im Beitrag #3271406: > Ich überarbeite im Moment die Anordnung im Gerät und verkürze dadurch > vor allem die Masse-Leitungen. NickNack schrieb im Beitrag #3271406: >
restarts auslöst? Wie kann ich dies messen bzw. wie stabilisiere ich vorsichtshalber den Quarz(14,7456MHz HC49U mit C=22pF)?
-
Thread
STM32F103C8T6 Schaltplanüberprüfung
Frequenz oder sogar genau 10MHz, oder, je nach CAN-Controller. Der interne CAN-Bootloader braucht 8, 14.7456 oder 25MHz. Johnny B. schrieb im Beitrag #7261332: > Man kann da auch einfach den Pin auf Open-Drain schalten und den Pegel > mittels externem Pull-Up Widerstand auf 5V ziehen. So kann man sich
CAN-BUS Betrieb (Slave) Ausgang: 1x für 5x oder 10x WS2812B RGB LEDs Eingänge: 30x (max) über Button und Rotary Encoder Power: 1 Standalone über USB 2 Slave über externe +5V Einspeisung Besonderheit: Extern soll immer bevorzugt werden, wenn vorhanden. ESD für USB und CAN
-
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.