Gefunden für variable ascii umwandel - Zum Elektronik Forum |
1 - String auslesen und an LCD senden (16F877) -- String auslesen und an LCD senden (16F877) | |||
| |||
2 - Inverter Eingangsspannung automatisch regeln über Mikro/Lautstärke -- Inverter Eingangsspannung automatisch regeln über Mikro/Lautstärke | |||
Zitat : QuirinO hat am 9 Jun 2011 12:44 geschrieben : Wenn du uns jetzt noch darüber aufklärst welche Lichtorgel du für dieses Projekt im Auge hattest, können wir dir genaueres sagen... Danke für Deine Hilfe! Die Lichtorgel-Schaltung habe ich unter www.b-kainka.de gefunden, und ansteuern möchte ich damit den Inverter dieses Leuchtkabels. Ich dachte mir, ich muss die Lichtorgelschaltung mit den Anschlüssen im Batteriefach des Inverters verbinden. Aber wie regel ich die Spannung zum Inverter dann ![]() Verstehe ich das richtig, wenn ich an einen BC548 an der Basis eine Spannung von mehr als 0.7V anlege, schaltet er doch den Weg zwischen Kollektor und E... | |||
3 - usart c18 compiler -- usart c18 compiler | |||
hallo zusammen !
ich bin neu in der Pic-Welt und habe Schwierigkeiten eine float zahl usart zu lesen(Hyperteminal) . ich benutze ein c 18 compiler . Ich habe auch gelesen , das der C 18 compiler keine konvertierung von float nach ascii nach . Weisst jemand wie , macht das Problem umgehen kann. Ich mache im moment folgendes und lesen nichts . Ich freue mich über Ihre Vorschläge. Code : #include <p18cxxx.h> #include <spi.h> #include <usart.h> #include <stdio.h> void Init_USART(void) | |||
4 - Hammingabstand -- Hammingabstand | |||
Danke erstmals für die Antworten!
Wie gesagt ich will mit dem Generatorpolynom g(x)( = x^5+x+1 = 100010 ) zwei mal sieben Bits (2x Ascii- Zeichen), also insgesamt 14 Bits übertragen. Das Codewort selber wir hierbei Nicht-Systematisch erstellt. Also, i(x) ist variable und g(x) ist konstant. Ich blick jetzt noch immer nicht durch, welchen Hammingabstand ich ohne Parity-Bit habe, wenn ich es wie oben angegeben erstelle und welchen ich mit Parity-Bit habe ![]() | |||
5 - PIC und C Amfängerfrage -- PIC und C Amfängerfrage | |||
Hi,
ich hab den Code mal ein bisschen umgestellt. Mit Gotos aus if-bedingungen auszubrechen ist nicht gerade die sauberste Art zu programmieren ![]() der Abfrage sind nicht nötig bzw. vielleicht sogar falsch, es ist ja schon eine Bit-Variable. Ausserdem meine ich, dass er bei 'T' den ASCII-Wert vom Buchstaben nimmt und somit die 1 um 84 Stellen nach links gerückt. Code : #pragma config |= 0b.1111.1111.0010 // Konfigurationswort void main (voi... | |||
6 - Datenübertragung zwischen C-Control M-Unit und Atmega 8 -- Datenübertragung zwischen C-Control M-Unit und Atmega 8 | |||
Also ich hab zwar auch nie bascom programmiert, aber ich hab ne c-control hier rumliegen, die Staub ansetzt ^^
Ich hab jetz beim Einlesen in die Materie also einen ähnlich unbefangenen Blick auf die Dinge wie tvgucker. Als allererstes möchte ich dich auf die seite http://avrhelp.mcselec.com/bascom-avr.html verweisen, falls du die noch nicht kennst. Beim sende Programm scheint mir so weit alles in Ordnung zu sein, Beim Programm das die Daten auf dem LCD anzeigt ist mir Spontan folgendes ins Auge gesprungen. Du Definierst die Eingabevariable A als "String", Benutzt jedoch zum Lesen vom Port das commando "Inputbin", Das liest so viele Bytes wie es braucht vom Port, In dem Fall meines Erachtens nach die Länge des Strings, die bei deiner Definition Aber 0 ist. Ich würde da auf jeden Fall als erstes mal den Datentyp der Variable auf Byte ändern, weil du dann sicher sein kannst, dass er nur versucht 1 Byte vom Port zu lesen. Gibt es eigentlich einen bestimmten Grund warum du "inputbin" benutzt und nicht "Input" ? Meines Erachtens nach ist ... | |||
7 - C: Variable wird unerklärlicherweise gelöscht.... -- C: Variable wird unerklärlicherweise gelöscht.... | |||
Hallihallo zusammen,
ich arbeite gerade an meinem ersten grösseren Projekt mit C. Es gilt ein Nokia 3310 LCD anzusteuern. Die Ansteuerung klappt wunderbar, nur hab ich ein Problem mit der Programmierung. Es geht um folgendes. Jede Sekunde wird vom Timer1 ein Output Compare A Interrupt ausgelöst. In der Interruptroutine wird eine Variable ("Sekunde") hochgezählt. Dieser neue Sekunden-Wert soll dann auf dem LCD erscheinen. Dazu muss das LCD zuerst gelöscht werden. Dazu werden zwei verschachtelte For-Schleifen durchlaufen. Nun kommts. Sobald die erste Schleife den Wert "6" annimmt, springt der Wert von "Sekunde" völlig zusammenhangslos auf 0 zurück. (Im AVR Studio Simulator eruiert und durch Realität bestätigt.). Mein Wert wird auf dem LCD also nicht hochgezählt, sondern bleibt immer 0... Hier die Codeschnipsel: Initialisierung der Variable: Code : | |||
8 - 100Mhz Datalogger im Eigenbau, hier: Schnelle Pegelwandlung -- 100Mhz Datalogger im Eigenbau, hier: Schnelle Pegelwandlung | |||
Hallo Forum!
Ich baue gerade einen Datalogger, der Logiksignale mit 100Mhz samplen soll. Läuft auch alles schon, aber es gibt natürlich Probleme. Die Signale kommen nämlich nicht direkt auf meinen Datenlogger, sondern müssen erst auf LVTTL gebracht werden (3,3V Logikpegel), da die eingehenden Logikpegel an sich von Aufnahme zu Aufnahme unterschiedlich sein können. Üblicherweise liegen sie zwischen 1,5V bis 12V. Zum Glück gibt's auch eine Referenzspannung, die zur Wandlung benutzt werden kann. Bislang wurde ein "high speed" Komparator von Maxim verwendet (MAX962), die recht naive Schaltung sieht so aus (exemplarisch ein Kanal): Vref o | |-| | | R1=47k |_| _____ | |* MAX962 X1 o---| |--(---|+ * ----- | | *--------o Out1 R3=4,7k o---|- * | |* |-| | | R2 = 39k |_| | --- (soviel zum Thema ASCII-Schaltbild) Erstaunlicherweise funktioniert das Ganze auch ganz gut. Probleme sind: - Vref rauscht ganz schön, ... | |||
9 - HiFi Verstärkerändnisfragen: Integer-to-Char für LCD und Dallas DS1821 (Temp.Sens.) -- HiFi Verstärkerändnisfragen: Integer-to-Char für LCD und Dallas DS1821 (Temp.Sens.) | |||
Hallo liebe Leute,
ich benutze einen ATmega8535 mit CodevisionAVR und habe ein paar kurze Fragen: 1. Muss ich zwangsläufig meine umständliche Integer-zu-Char-Umwandlung benutzen, um Int-Werte z.B. vom Temperatursensor auf einem LCD auszugeben? Es gibt ja nur String- und Char-Output-Befehle.. Habe nämlich Schwierigkeiten mit meiner Lösung, die ich bei einer einfachen Sekundenanzeige benutzt habe (nur zum Testen), hier kurz das main (Kommentare waren für Azubi-Kollegen): while (1) { sekunden++; //Sekündliche Erhöhung von sekunden um 1 delay_ms(1000); x=1; //Zählvariablen für die Umrechnung von i=0; //Int zu Char (String) werden initialisiert j=0; while(sekunden>=x) //Umrechnung von sekunden (Int) in zeit[] (Char-Array) { zeit[i]=((sekunden/x)%10)+0x30; //Jede einzelne Stelle der Integer-Variable wird mit //Hex-30 addiert, denn laut ASCII-Tabelle liegt | |||
10 - unbekanntes Programm entdeckt -- unbekanntes Programm entdeckt | |||
Das öffnen der Datei geht nicht, also hier das Listing:
MC68HC711E9 Bootloader ROM 1 **************************************************** 2 * BOOTLOADER FIRMWARE FOR 68HC711E9 - 21 Aug 89 3 **************************************************** 4 * Features of this bootloader are... 5 * 6 * Auto baud select between 7812.5 and 1200 (8 MHz) 7 * 0 - 512 byte variable length download 8 * Jump to EEPROM at $B600 if 1st download byte = $00 9 * PROGRAM - Utility subroutine to program EPROM 10 * UPLOAD - Utility subroutine to dump memory to host 11 * Mask I.D. at $BFD4 = $71E9 12 **************************************************** 13 * Revision A - 14 * 15 * Fixed bug in PROGRAM routine where the first byte 16 * programmed into the EPROM was not transmitted for 17 * verify. 18 * Also added to PROGRAM routine a skip of bytes 19 * which were already programmed to the value desired. 20 * 21 * This new version allows variable length download 22 * by quitting reception of characters when an idle 23 * of at least four character times occurs 24 * 25 **************************************************** 26 27 * EQUATES FOR USE WITH INDEX OFFSET = $1000 28 * 29 0008 PORTD EQU... | |||
11 - Countdown Uhr -- Countdown Uhr | |||
Das ASM - Beispiel:
.include tutorial/uart/2313def.inc ;Pfad zur Include-Datei ggf. anpassen .def temp = r18 .def counter = r17 .def fbin = r19 ;Ausgangswert .def tBCDL = r19 ;Obere Dezimalstelle .def tBCDH = r20 ;Untere Dezimalstelle .org 0000 rjmp reset ; RESET =$001 ;Reset RETI ; INT0addr=$001 ;External Interrupt0 Vector Address RETI ; INT1addr=$002 ;External Interrupt1 Vector Address RETI ; ICP1addr=$003 ;Input Capture1 Interrupt Vector Address RETI ; OC1Aaddr=$004 ;Output Compare1A Interrupt Vector Address rjmp check ; OVF1addr=$005 ;Overflow1 Interrupt Vector Address RETI ; OVF0addr=$006 ;Overflow0 Interrupt Vector Address RETI ; SPIaddr =$007 ;SPI Interrupt Vector Address RETI ; URXCaddr=$008 ;UART Receive Complete Interrupt Vector Address RETI ; UDREaddr=$009 ;UART Data Register Empty Interrupt Vector Address RETI ; UTXCaddr=$00a ;UART Transmit Complete Interrupt Vector Address RETI ; ADCCaddr =$00b ;ADC Interrupt Vector Address RETI ; ERDYaddr =$00c ;EEPROM Interrupt Vector Address RETI ; ACIaddr =$00d ;Analog Comparator Interrupt Vector Address reset: ;Stackpointer initialisieren ldi temp, RAMEND out SPL, temp |
Zum Ersatzteileshop Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation! gerechnet auf die letzten 30 Tage haben wir 12 Beiträge im Durchschnitt pro Tag heute wurden bisher 0 Beiträge verfasst 7 Besucher in den letzten 60 Sekunden alle 8.57 Sekunden ein neuer Besucher ---- logout ----su ---- logout ---- |