Hallo Ihr Bastler;-)
Ich hatte vor zwei tagen ein Problem damit, meinen ATMEGA 163 zu
programmieren...jetzt klappts (die Kabelbelegung, die unter
mikrocontroller.net angegeben war, stimmte nicht mit Ponyprg überein).
Hab gestern das LCD-Temperaturprogramm laufen lassen: da ich ein 20x4
Display am AVR-CRTL habe und eine ATMEGA 163 drauf, bin ich um ein paar
Modifikationen m´nicht herum gekommen (include mega163.....diplay
rows-anzahl....)
ABER: die Temperatur wird nur mit -999. °C angezeigt...woher kann das
kommen? Muss ich eventuell noch am assemblercode etwas verändern???
Danke für die Hilfe und Grüße aus Stuttgart
Björn
Das ist ja nur das Rahmenprogramm, da passiert ja nichts.
Wichtig ist, was in dieser Funktion erfolgt:
temp = ds1820_temperature_10(NULL);
Da muß es doch eine Doku dazu geben, die Du gründlich durcharbeiten
mußt.
Ich halte aber nichts davon, solche komplexen Programme blind zu
übernehmen. Die Erfolgsaussichten sind eher gering und man lernt dabei
auch nichts.
Entweder man versucht da erst durchzusteigen oder man schreibt sich
anhand des DS1820-Datenblattes seine eigenen Routinen.
Peter
hi björn,
damit muss es klappen; nächstes mal beispiel besser studieren ;))
#include <mega163.h>
#include <stdio.h>
#include <ds1820.h>
#include <1wire.h>
#include <lcd.h>
#asm
.equ __w1_port=0x12
.equ __w1_bit=4
.equ __lcd_port=0x15
#endasm
char text[16];
char rom_codes[9];
//falls du mehrere sens. hast, wird es dann
//rom_codes[n,9], wo n deren anzahl ist;
void main(void)
{
w1_init();
w1_search(0xf0,rom_codes);
lcd_init(20);
lcd_clear();
lcd_putsf("Temp., °C:");
while (1)
{
int temp;
temp = ds1820_temperature_10(&rom_codes[0]);
sprintf(text,"%2i.%-u",temp/10,abs(temp%10));
lcd_gotoxy(0,1);
lcd_puts(text);
};
}
Wie es aussieht, ist es anscheinend doch jemandem gelungen, anhand
Deines Programmfragments zu erkennen wovon Du eigentlich sprichst.
Ich weiß immer noch nicht mehr, als das es um den DS1820 geht.
Du kannst in Zukunft ruhig etwas über die verwendete Hardware und
Software (Hersteller, Bezeichnung, Link) verlauten lassen.
Solche unkonkreten Aussagen, wie "das LCD-Temperaturprogramm" und
"am AVR-CRTL" ergeben bei Google nämlich keinen einzigen Treffer.
Peter
Eine eigene Frage?
Dieser Thread ist über 23 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.