Werte vom ATTINY26 lesen

dergeheime

Neues Mitglied
14. Sep. 2009
4
0
0
Sprachen
Hallo,
ich möchte / muss Werte vomeinem ATTINY26 lesen und per BASCOM auswerten. Wie??

Kann mir jemand einen TIP geben.

mfg
 
Weitere Infos

Hallo,

stimmt, die Infos waren zu wenig.

Also, ich habe einen Attiny26 an dem einige LED blinken. Dazu ist ein Port als ADC geschaltet mit einem KTY versehen.

Der ADC arbeitet. Temperaturänderung = Widerstandsänderung = neuer Wert über getacd(x).

Da ich kein LCD anschliessen möchte, hätte ich diesen ADC Wert am PC zurück. Bin recht neu in diesem Bereich.

Geht das überhaupt mit einem Attiny26?

Die besten Grüsse
 
Hallo,

Also, ich habe einen Attiny26 an dem einige LED blinken. Dazu ist ein Port als ADC geschaltet mit einem KTY versehen.

Der ADC arbeitet. Temperaturänderung = Widerstandsänderung = neuer Wert über getacd(x).

Da ich kein LCD anschliessen möchte, hätte ich diesen ADC Wert am PC zurück. Bin recht neu in diesem Bereich.

Geht das überhaupt mit einem Attiny26?
also theoretisch sollte das gehen wenn noch ein I/O-Pin frei ist.
Das Teil hat 2kByte Flash (1kx16) und 128Byte SRAM , 20pin Gehäuse.
Leider hat er keinen vollwertigen USART sondern nur diese Krüppel-USI
(Universal Serial Interface). Die kann man für SPI, I2C und RS232 verwenden.
Bei RS232 aber nur halbduplex (also senden ODER empfangen). Du benötigst
aber ja nur senden (vom Tiny zum PC). Über Seriell ist das bei dir wohl die
einfachste Lösung. Hier mal ein ausschnitt aus dem Datenblatt ...

= Alternative USI Usage
When the USI unit is not used for serial communication, it can be set up to do alternative tasks due to its flexible design.
- Half-duplex Asynchronous Data Transfer
By utilizing the Shift Register in Three-wire mode, it is possible to implement a more compact and higher performance UART than by software only.
Dafür benötigt man aber dann den Pin 2 (PB1/MISO/DO/OC1A)
Wie das mit Bascom abläuft kann ich dir leider nicht sagen. Ich weiß auch
nicht ob man in dem Tiny im Notfall eine Software-USART einsetzen kann.
Das werden wohl eher Thomas, Markus oder Cassio wissen. Bei ner
Software-USART kann man sich den Pin dann auch aussuchen. Wobei ich
persönlich immer die Hardware-Lösungen bevorzuge ;) Ich schätze aber mal
das bei dir der Port B schon mit den LEDs besetzt ist, da ja auf Port A deine
Analog-Eingänge sitzen von denen du einen für den KTY-Sensor verwendest.
Man könnte die Portpins auch mischen aber das ist dann von der Programmierung
wieder komplizierter :D

Also theoretisch ist es möglich wenn noch ein Pin frei ist den man für ne
Serielle Kommunikation verwenden kann. Du brauchst dann nur noch nen
Pegelwandler (zB MAX232) von 5V auf +/-12V (RS232).

Gruß
Dino
 
Hallo dergeheime,

ich hab's mal trocken durchlaufen lassen, da ich keine '26 habe.

Damit


CodeBox BASCOM

$regfile = "attiny26.dat"
'...
Open "comb.3:19200,8,n,1" For Output As #1
Print #1 , temp
close #1
'...


sollte es funktionieren (Port natürlich angepasst). Zumindest hat Bascom beim Syntax- Check und Kompilieren nicht gemeckert. Einen Pin kannst Du bestimmt irgendwie abzwacken, dann kannst Du Deine Daten seriell an den PC übertragen. Falls nicht, sollte es ein ATtiny24, mit 12 programmierbaren Pins, tun.


Grüsse,

Michael
 
Serout genutzt

Hallo, danke für den Input.
Ich habe Serout gefunden. Sollte jeden Port als ausgabe steuern.
Aber
Wie mache ich aus Word einen String. (casting??)
Mit was und wie sehe ich den Wert. HTERM?
Nochmals eine Idee?!? Danke
 
Hallo,

Aber
Wie mache ich aus Word einen String. (casting??)
Mit was und wie sehe ich den Wert. HTERM?
Nochmals eine Idee?!? Danke
probier erst mal mit 9,6kBit/s , 8 Datenbit , keine Parität und 1 Stopbit.
Das ist die gebräuchlichste Einstellung für die Serielle Schnittstelle.
Dann nimm ein Terminalprogramm deines Vertrauens. Ich nehme zB PuTTY.
Teraterm ist aber auch zu empfehlen. HTerm hab ich noch nicht eingesetzt
und mit Hyperterm (Windows) sind viele auf Kriegsfuß ;) Stell das Terminal
auf die Einstellungen wie oben. Dann noch auf VT100-Emulation und auf
"kein Handshake" also weder Hardware- noch Software-Handshake.
Hardwarehandshake wäre zB RTS/CTS. Die Leitungen hat der Atmel nicht.
Softwarehandshake wären Xon/Xoff. Das müßte dann dein Programm extra
noch machen. Also OHNE Handshake. Dann einfach mal Buchstaben vom
Atmel zum PC senden (zB "A" das wäre 0x41). Wenn du dann die Zeichen
siehst dann funktioniert es. Erst danach würde ich das mit Meßwerten
machen. Fang langsam undd schrittweise an. Wenn man alles auf einmal
macht sieht man den Wald vor Bäumen nicht und weiß nicht wo der Fehler
liegt.

Als Tip: Sieh dir mal das Progrämmchen "Zeichentabelle" (Win-Zubehör) an ...
Zeichentabelle.gif
Das zeigt dir die Hex-Werte der Zeichen an.
Der Taschenrechner ist in der Wissenschaftlichen Einstellung auch zu was
nutze (Bin/Hex/Octal/Dez). Nur mit dem Hyperterminal und Paint kann man
nicht wirklich viel anfangen ;)

Gruß
Dino
 
Hi,

Ich habe Serout gefunden. Sollte jeden Port als ausgabe steuern.

stimmt. Diese Funktion hatte bei mir bei einem verwendeten Tiny25 jedoch den halben Speicher gefressen. Außerdem ging die Spannung immer auf ca. 2.4V runter. SERIN/SEROUT ist nicht wirklich zu empfehlen. Die SW- UART funktioniert mit fast jedem Atmel. Hast Du nur einen Pin frei, kannst Du auch abwechselnd Senden und Empfangen, sofern es die "Zeit" zulässt. Sind dann halt ein paar Zeilen mehr. Läuft's bei Dir jedoch gut mit SEROUT, dann lass es so.

Dino's Vorschläge könnte ich noch um das mit Bascom mitgelieferte ergänzen. Geht für den Anfang, einfach zu überblicken.


Grüsse,

Michael
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)