-
Thread
STM32F407 USART1 mit DMA IRQ bei weniger Bytes
(&DMA_InitStruct); DMA_InitStruct.DMA_Channel = DMA_Channel_4; DMA_InitStruct.DMA_PeripheralBaseAddr = (uint32_t)&(USART1->DR); DMA_InitStruct.DMA_Memory0BaseAddr = (uint32_t)&RS485_TX_Buffer; DMA_InitStruct.DMA_DIR = DMA_DIR_MemoryToPeripheral; DMA_InitStruct.DMA_BufferSize = RS485_data_size
GPIO_Pin_9 #define RS485_RTS GPIO_Pin_12 #define RS485_CTS GPIO_Pin_11 #define RS485_data_size 16 Wenn jetzt warum auch immer nicht 16Bytes ankommen, sondern 1 Byte (Störung z.Bsp) und danach korrekt die 16 Bytzes dann löst der Interrupt aus und die Daten sind im Buffer, nur dass das 1. Byte dann
-
Thread
NAS oder NUC oder ?
Hi, eine dünne 2TB 2,5" HDD soll ihre Dienste energiesparend und flott im 1000BaseT Netz anbieten. Was nimmt man da? Eine DS118 oder Celeron NUC+2GB RAM währen vom Preis her noch OK. Hat die DS118 Software Features die man nicht mit etwas 'apt get + Konfiguration' haben kann
#5535056: > Hi, > eine dünne 2TB 2,5" HDD soll ihre Dienste energiesparend und flott im > 1000BaseT Netz anbieten. > > Was nimmt man da? Und welche Dienste soll die Platte verrichten? Reiner Datenspeicher, Videostream, Downloadserver, Mailserver....usw. usw..? Vielleicht reicht auch so
-
Thread
Betriebssystem für 32 Bit µCs?
von ARM und unterstützt nicht nur die fetten 2MB M4/M7, ich benutze es auch für kleine LPC812 M0 mit 16 kB Flash. mbed 2 (auch mbed classic genannt) ist da platzsparender, das neuere mbed 5 hat ein RTOS integriert und eignet sich daher für die grösseren. Komponenten wie Filesystem, USB und Ethernet werden
braucht ein STM32 Linux um zu starten? > > Das on-die SRAM reicht doch sicher nicht.. 8MB reicht. 16 ist schon sehr gut.
-
Thread
Seltsames Verhalten Mega644p und S65 LCD
Dim Trot As Byte , Tblau As Byte , Tgruen As Byte Dim Lx1 As Byte , Ly1 As Byte , Zeichenarraylsb(16) As Byte , Zeichenarraymsb(16) As Byte Dim Xg As Byte , Yg As Byte Dim J As Word Dim Temp1 As Byte , Temp2 As Byte , Temp3 As Byte , Temp4 As Byte Dim Ausgabe As Word Dim Tempw As Word Dim Farbe
------------- Subs --------------------------------------------------------------- $include "subs.bas" $include "color8X8.font" $include "gui.bas" $include "ea.bas" ################################################################### ##############################################################
-
Thread
AV Video mit Atmega1281 erzeugen?
angeschaut und das darin beschriebene FBAS-Signal mal näher angeschaut. Ich kann den m1281 mit 16MHz takten und könnte das doch theoretisch wie beim BAS signal machen. Ich will ja 'nur' drei verschiedene Farben und damit Spannungen codieren. Schwarz, blau und grün in nur einer Helligkeit. Zitat
Ja, inzwischen kenne ich das. Ich habe hier im Forum ein C-Programm gefunden, dass mit einem Mega16 bei 16MHz ein 38x20 Zeichen Textdisplay als PAL-Video erzeugt. http://www.vga-avr.narod.ru/main.html Läuft auch soweit. Nur habe ich das Problem, dass das Bild anfangs (nach Reset) sehr scharf und
-
Thread
Widerstand am ADC für Tankanzeige
änderndem Widerstand. bei Tank leer 1,9 Ohm bei Tank voll 78,3 Ohm. Der ADC Eingang von meinen Atmega8 (16MHz Quarz) liest ja nur Spannungen ein. Wenn ich also über einen Spannungsteiler gehe, wie müsste ich die Schaltung aufbauen und wie müsste die Befehle in Basom lauten? Ich habe leider noch nie mit ADC
----------------------------------------------------------------- 'name : adc.bas 'copyright : (c) 1995-2005, MCS Electronics 'purpose : demonstration of GETADC() function for 8535 or M163 micro 'micro : Mega163 'suited for demo
-
Thread
Parameterübergabe bei Inline Assembler
Compilerfehler ("Error: constant expression expected -- `movt R0,r3'") bei folgendem Code: [c] const uint16_t low = 0x3000; const uint16_t high = 0x0800; // Basisadresse der Vektortabelle in R0 laden asm volatile ("mov R0,%0" : : "r" (low)); asm volatile ("movt R0,%0" : : "r" (high)); // SP laden
Schritt, d.h. die Parametrierung funktioniert. Dann ist mir die Idee gekommen: "Warum zwei einzelne 16-Bit-Werte laden, wenn es auch eine Operation für einen 32-Bit-Wert gibt (->LDR)?" Herausgekommen ist folgendes Konstrukt: [c] uint32_t base = 0x08003000; asm volatile ("ldr R0,%0" : : "m" (base)
-
Thread
AVR - Software retten
du hast nicht die gleiche bas datei! die im Anhang hat 251 Zeilen. Bei dir kommt in screenshot "Durchlaufzeit" vor in der bas datei steht das nicht drin.
Miss mal TDI,TDO,TCK direkt an Mega16 vom JTAG an PIN 3,2,1
-
Thread
DS18S20 wird vom ATmega8 nicht gefunden
-------------------------------------------------------- 'name : display-test.bas 'purpose : Test for TC1604A, DS18S20 'micro : Mega328P '------------------------------------------------------------------------------ $regfile = "m328pdef.dat
Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2 Config Lcd = 16 * 4 $hwstack = 40 $swstack = 40 $framesize = 60 Declare Sub Temperatur_aus_ds18b20 Declare Sub Temperatur_aus_ds18s20 Cursor Off Cls Config 1wire = Portb.0 Dim Rom_code(8) As Byte
-
Thread
PHP Daten aus Stream übernehmen
Man kann die binären Daten auch vor dem Versenden zunächst nach Base64 codieren, dann ist es reiner Text ohne Sonderzeichen, so dass die Frage nach der Textcodierung (ASCII, UTF-x) keine Rolle spielt ... Wenn genug Rechen-Power vorhanden, würde ich die Daten evtl. vor der Transformation nach Base64 noch packen (ZIP?) um einerseits gleich eine Itegritätskontrolle zu bekommen und andererseits den Größenzuwachs durch das Base64-Format zu kompensieren.
-
Thread
Linux Konsole über die Serielle Schnittstelle; Pollinbox
command line: console=ttyS0 stb810_display=pal root=/dev/sda1 nomainapp=1 Primary instruction cache 16kB, physically tagged, 2-way, linesize 32 bytes. Primary data cache 16kB, 4-way, linesize 32 bytes. Synthesized TLB refill handler (23 instructions). Synthesized TLB load handler fastpath (32 instructions
data, 2044k init, 0k highmem) Mount-cache hash table entries: 512 NET: Registered protocol family 16 registering PCI controller with io_map_base unset SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device
-
Thread
Kontaktfestbrennen durch viele LED?
Einschaltstrombegrenzer nachrüsten, z.B. Meanwell ICL-16R.
etwa 8A. Die LED hat einen größeren Widerstand, als was ich hier ligen hatte. Der hatte 18Ohm und 16A Peak fuer 0,1ms.
-
Thread
drehzahlerfassung mit QEP
fabtast/ SpeedMessungAbtast { // Check the position counter for EQEP1 RawTheta = (Uint16)EQep1Regs.QPOSCNT ;// QPOSCNT 32 bit // Compute the mechanical angle MechTheta = RawTheta/(4*500); // erste verfahren, da MechTheta leigt im interval (0 - 1), dann es gibt unableitbaren
// Low-pass filter Tmp1 = K2*Speed + K3*Tmp1; // e.g. fc = 50hz , 1. Order if (Tmp1 > BaseRpm) // BaseRpm = 3000 rpm Speed = BaseRpm; else if (Tmp1 < - BaseRpm) Speed = - BaseRpm; else Speed = Tmp1; // Update the electrical angle OldMechTheta
-
Thread
Grasshopper und OpenWrt
damit ist kein mount möglich.... Downloading http://www.chzsoft.de/grasshopper/openwrt/kmod-nls-base_2.6.32.10-1_avr32.ipk. Configuring kmod-fs-vfat. fat: Unknown symbol load_nls fat: Unknown symbol utf16s_to_utf8s fat: Unknown symbol unload_nls vfat: Unknown symbol fat_dir_empty vfat: Unknown
Unknown symbol fat_add_entries vfat: Unknown symbol fat_sync_inode vfat: Unknown symbol utf8s_to_utf16s vfat: Unknown symbol fat_detach Configuring kmod-nls-base. root@OpenWrt:/etc# Witzigerweise funktioniert KMOD-FS-EXT3 ohne Probleme. Habe z.Zt leider nur SC-Cards mit VFAT zur Hand :-(
-
Thread
Welcher Controller ist für mich geeignet?
Ein Atmegea oder Attiny von Atmel sind für solche aufgaben in der regel ganz gut geeignet. Ein Atmega16 kostet ca. 4€ und hat zwei 8bit Teimer und einen 16bit teimer der sollte für eine Uhr reichen und du kannst auch damit ein LCDisplay ansteuern und er besizt auch einen 8Kanaligen 10bit-adc .... und
ich noch eher was von Microchip mit nem PIC empfehlen, womit Du eine Eentwicklerumgebung für PIC14/16/18/24/32 und dsPIC30/32 bekommst. Grüße Michelle
-
Thread
Diese "ollen" Pointer...
discards qualifiers from pointer target type Also Codemäßig sieht das so aus: volatile char puffer1[16]; //jetzt Arrays statt Pointer volatile char puffer2[16]; volatile unsigned char pufferauswahl; volatile unsigned char pufferstelle; Die ISR-Routine bleibt gleich. Im int main(void) Teil dann
funktioniert nur wenn (sizeof(buf)/sizeof(unsigned char) eine Zweierpotenz ist (2^1=2,2^2=4,2^3=8,2^4=16,2^5=32,2^6=64,...).
-
Thread
STM32f4 TIM Base-Init
_t SystemCoreClock = 16000000; uint32_t tmp = 0, pllvco = 0, pllp = 2, pllsource = 0, pllm = 16; systemcoreclock=[( 16000000 / 16 ) * 336] / 2 = 168MHz Timer-Presaclaer habe ich auf 10,000 und Timer Periode 8400. Timer Freuq= 84MHz / 10000 = 8400 => 1/8400 = 0,119 ms Update-Event= 0,119ms
float)(frq_hz); // berechne prescaler u_temp=(uint32_t)(teiler); prescaler=(u_temp>>16); // berechne periode f_temp=(float)(teiler)/(float)(prescaler+1); periode=(uint16_t)(f_temp-1); . . . . [/c]
-
Thread
Signale mit 32Mbit/s extern speichern
MiB DDR2 RAM) reicht für 16 Sekunden. Ausgabemöglichkeiten auf dem Board: * UART to USB (PIC24) * SDHC Card Interface * RMII 100 Mbit/s (SMSC 10/100 Ethernet PHY LAN8720A) * 4x4 freie IOBs (verteilt auf 4 Pmods)
vorhandenen Ethernet PHY fehlt mir bisher > ein Core +Einarbeitungsaufwand. https://www.fpga4fun.com/10BASE-T.html Das ist zwar in Verilog und recht hemdsärmelig, aber o.k. um in die Thematik reinzukommen. 100Base-T läuft dann mit 25 MHz (oder 50 MHz) und für Gigabit braucht man einen Takt mit 125 MHz.
-
Thread
Array auf Stack oder ins Datensegment ablegen? (Zugriffszeit)
wird hier einen Zeiger auf Array auf dem Stack bekommen. Läuft das dann in etwa so (Pseudo-Code): [c]baseArray = FramePointer - 4; //hole das Argument aus dem Stack-Frame. Die Zahl 4 ist einfach ausgedacht. wertBeiArray2 = *(baseArray + 2*Wortlaenge); //ist dieser Zugriff genau so langsam wie der Zugriff
um einen Digital Signal Controler, dem Delphino TSM320F28335 von TI. Ist eine 32-bit CPU mit 256k*16 Flash und 24k*16 SARAM Speicher. In diesem konkreten Fall handelt es sich um ein Array mit 10 Elementen die aus Zeigern auf Strukturen bestehen. Es werden genau so viele Lese- wie Schreiboperationen
-
Thread
EA DOG-M Display (ST7046) und customchars. ARGH!
lcd_port,__lcd_enable ;EN=0 cbi __lcd_port,__lcd_rs ;RS=0 #endasm _lcd_maxx=lcd_columns; _base_y[2]=lcd_columns+0x90; _base_y[3]=lcd_columns+0xA0; _long_delay(); _lcd_init_write(0x30); _long_delay(); _lcd_init_write(0x30); _long_delay(); _lcd_init_write(0x30); _long_delay(); _lcd_init_write
lcd_write_byte(a++,*pc++); } [/c] Und dieser Codeteil dann im Main: [c] // LCD module initialization (16 Zeichen pro Zeile) lcd_init(16); lcd_clear(); lcd_contrast(10); define_char(char0,0); define_char(char1,1); define_char(char2,2); define_char(char3,3); define_char(char4,4); define_char(char5,5
-
Thread
STM32: OC Timer - Problem
RCC_OSCILLATORTYPE_HSI; RCC_OscInitStruct.HSIState = RCC_HSI_ON; RCC_OscInitStruct.HSICalibrationValue = 16; RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI_DIV2; RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16; HAL_RCC_OscConfig(&RCC_OscInitStruct)
hier SW4STM32/firmwares/STM32Cube_FW_F1_V1.4.0/Projects/STM32F103RB-Nucleo/Examples/TIM/TIM_TimeBase/Src/main.c und andere.
-
Thread
Laengsregler mit Mosfet
aktueller Dimensionierung max. 10V. (An +/-SUP wird nach Gleichrichtung der Eingangsspannung ca. 15-16V sein) Damit sollte man den FET ordentlich auf bekommen. Über einen Stromspiegel kann man nachdenken, wenn dieses Ding läuft. Ich vermute da noch einen Fehler in seinem Aufbau. Gruß Jobst
M. schrieb im Beitrag #4607292: > (An +/-SUP wird nach Gleichrichtung der Eingangsspannung ca. 15-16V > sein) richtig gedacht, simmt aber in diesem Fall trotzdem nicht, denn: Bernhard F. schrieb im Beitrag #4607111: > Bei einer Eingangsspannung von 12 Volt DC Die Versorgung ist also eine
-
Thread
Dateiformat Bildschirmfoto vom HP8753A
nicht. Mir ist allerdings auch nicht klar, wie sie aufgebaut ist. Einerseits sieht es aus wie 16 bit pro Pixel, aber andererseits hat sie nur 5504 16-bit-Werte, was für ein pixelweises Bildschirmfoto viel zu wenig wäre.
encoded", which is a short form for multiple PU/PD commands. Basically, the numbers are stored in a base-5 or base-6 format with special characters used to indicate a pen-up or the multiplier for the numbers."
-
Thread
libvmcu - Virtual MCU Library
); return EXIT_SUCCESS; } [/c] [c] Output: SFR ID: 0 xref from 0x0112 (out 0x01, r16 ; IO[addr] <- R16) xref from 0x011c (out 0x00, r16 ; IO[addr] <- R16) SFR ID: 33 xref from 0x011f (in r16, 0x31 ; R16 <- IO[addr]) SFR ID: 38 xref from 0x0152 (out 0x3d, r28 ; IO[addr]
---- 0x0006 .... 0000 nop ; no operation true -> 0x0007 .... 0127 eor r16, r17 ; r16 <- r16 ^ r17 -------------------------------------------------------------------------------- 0x0007 .... 0127 eor r16, r17 ; r16 <- r16 ^ r17 -------------------------
-
Thread
CRC bis 8k Flash statt 16kb
Ich möchte über 16kB Flash bei einem STM32F030F4 eine CRC laufen lassen. Bis 8kb gibt es keine Probleme.Das Problem: Sobald 8kB(<8192) überschritten werden, wird GPIOB->BRR|=GPIO_Pin_1; nicht mehr erreicht ??? uV 5.10 ST-LinkV2 [c] #define FLASH_BASE ((uint32_t)0x08000000) /*!< FLASH base address in the alias region */ GPIOB->BSRR|=GPIO_Pin_1; CRC_DeInit(); CRC_ResetDR(); uint32_t *pFLASH= (uint32_t *)FLASH_BASE; test_CRC=CRC_CalcBlockCRC
-
Thread
Beschreibung der Padauk Mikrocontroller
besteht darin, daß du eben nicht in Assembler denkst, sondern eher in C etc. Es war schon mit den PIC16 so, daß all die Leute, die nur mit C herangewachsen waren, deren Architektur als scheußlich empfanden, weil sie sie schlichtweg nicht verstanden haben. Eben weil sie etwas grundsätzlich anderes _erwartet_ hatten. So auch der oben genannte Autor. Diese Padauk's sind genau so wie die PIC16 eben keine Ein-Register-Maschinen mit W als alleinigem Register, sondern sie sind - sofern man das so formulieren will - eher 128 Register-Maschinen. Schließlich wird der überwiegende Teil aller Operationen
-
Thread
Eigenes i.MX6 Board - U-Boot läuft. Wie weiter mit dem Kernel
Google-Futter! ;o) Jap... ich bleibe dran.... :) EDIT: Gemäss diesem Forumpost sollte man die BASE-Adresse anpassen: https://forum.odroid.com/viewtopic.php?t=9128 [code] #define CONFIG_SYS_MAPPED_RAM_BASE CONFIG_SYS_SDRAM_BASE [/code] Habe dies in u-boot umgesetzt und u-boot neu geladen
Holger K. schrieb im Beitrag #5876353: > Gemäss diesem Forumpost sollte man die BASE-Adresse anpassen: > https://forum.odroid.com/viewtopic.php?t=9128 Warum suchst du in Foren zu Samsung Exynos, wenn du doch einen i.MX6 benutzt? Die absoluten Lowlevel-Dinge (wo ist der RAM, welche
-
Thread
Was hört ihr für Musik ?
Mac G. schrieb im Beitrag #4710326: > ca. 16 Marsjahre Also 687 Tage x 16 = 10992 Tage/365 = ca. 30 Erdenjahre
Midnight Oil: https://www.youtube.com/watch?v=16bFBzx7I_0&list=RD16bFBzx7I_0&start_radio=1&t=191 Gerade richtig in dieser unserer Zeit;-)
-
Thread
Bild an TFT Display anzeigen
Position //-------------------------------------------------------------- void LCD_DrawPixel(int16_t xpos, int16_t ypos, uint16_t color) { uint8_t hi,lo; LCD_SetWindow(xpos,ypos,xpos,ypos); hi=color>>8; lo=color&0xFF; P_LCD9341_CMD(0x2C); P_LCD9341_DATA(hi); P_LCD9341_DATA
xend,yend //-------------------------------------------------------------- void LCD_SetWindow(uint16_t xstart, uint16_t ystart, uint16_t xend, uint16_t yend) { uint8_t hi1,lo1; uint8_t hi2,lo2; hi1=xstart>>8; lo1=xstart&0xFF; hi2=xend>>8; lo2=xend&0xFF; P_LCD9341_CMD(0x2A
-
Thread
Wlan2Serial Modul für 5 euro
Netzwerkdaten ......................................... ......................................... 16 Seite 5 16.04 Espressif Systeme 27. Juni 2014 1 Einführung Dieser Artikel enthält Espressif AT-Befehlssatz. Seite 6 16.05 Espressif Systeme 27. Juni 2014 2 , AT Unterricht
16MHz ist aber auch kein Baudraten Quarz. Vielleicht liegt es eher daran.
-
Thread
MC68331 Programm auslesen
BAR in der Anleitung suchen... Base Adress Register glaube gab 0 bis 7... Ist schon ne Weile her... Die auslesen und den reset vektor heraus finden
der das steht? Dafür spricht, dass in der Anleitung CSBAR0 bis CSBAR10 gibt, in denen jeweils eine Base Address und eine Block Size enthalten ist. Oder muss ich extern nach einem zweiten Microcontroller schauen, der das beim Starten konfiguriert? (So sieht es für mich in Figure 4-17 der Anleitung aus
-
Thread
Waum eigentlich immer 14,318 MHz?
vergraulte mir damals den Betrieb am FBAS-Signal, so daß ich mir 'nen Monochrom-Monitor zulegte und das BAS-Signal intern abgriff. Spätestens, wenn man mal versucht hat, Heimcomputer-Bilder auf 'nem Videorecorder aufzunehmen, gingen die Probleme los, da die Videorecorder deutlich pingeliger als Fernseher
"Pixeltakt", auch wenn es den im eigentlichen Sinne nicht in der PAL-Spezifikatin, oder korrekter BAS-Spezifikation gibt. War 27 MHz der genaue Wert? Mir scheint ein ganzzahliger Bruchteil davon wäre eine gute Ausgangsbasis um ein sauberes Timing für die halbe / drittel / viertel Zeilenauflösung
-
Thread
Variablen eindeutig benennen damit der Typ eindeutig ist
Variablennamen, also z.B. "wPwr_BatVlt" oder "wPwr_UsbVlt" (unsigned 16 bit-Wert im Power-Modul, enthält Batterie/USB-Spannungswert) oder "sPwr_SysTmp" (signed 16 bit Systemtemperatur).
viel Zeit damit verbracht, Fehler zu finden, die dadurch getarnt waren, dass z.B. ein unsigned char u16BlaBlubb hieß, weil irgendein Profi früher beim Copy&Paste geschlampt hatte. Jahre später lief u16BlaBlubb aufgrund anderer Änderungen dann über, was laut Variablenname nicht sein konnte. Die ungarischen