Gefunden für variable ascii umwandel - Zum Elektronik Forum





1 - String auslesen und an LCD senden (16F877) -- String auslesen und an LCD senden (16F877)




Ersatzteile bestellen
  Hallo an alle,

ab und an programmiere ich auch an PIC herum. Das für mich etwas "Blöde" ist die Zeichenausgabe auf ein LCD-Display. Initialisierung als auch Ausgabe funktionieren einwandfrei! Ist es aber nicht irgendwie möglich, z.B. den String "Kommando: " einfacher auszugeben, als bisher so:

movlw 'K'
call LcdOut
movlw 'o'
call LcdOut
movlw 'm'
call LcdOut
movlw 'm'
call LcdOut
movlw 'm'
call LcdOut
movlw 'a'
call LcdOut
movlw 'n'
call LcdOut
movlw 'd'
call LcdOut
movlw 'o'
call LcdOut
movlw ':'
call LcdOut
movlw ' '
call LcdOut

Im Prinzip bracht man doch nur die ASCII-Codes in (String-)Variable zu schreiben und diese auszulesen in einer Schleife? Leider hat nun mal ein PIC keine String-Variablen. Hat da jemand eine kleine Routine für mich zum Testen?

Vielen Dank!

Gruß Jens ...
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 Und die Bitschiebereien bei
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

Nicht gefunden ? Eventuell gibt es im Elektroforum Transistornet.de für Variable Ascii Umwandel eine Antwort
Im transitornet gefunden: Variable Ascii


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!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 12 Beiträge im Durchschnitt pro Tag       heute wurden bisher 0 Beiträge verfasst
© x sparkkelsputz        Besucher : 185296229   Heute : 741    Gestern : 17838    Online : 507        28.8.2025    1:10
7 Besucher in den letzten 60 Sekunden        alle 8.57 Sekunden ein neuer Besucher ---- logout ----su ---- logout ----
xcvb ycvb
0.052836894989