Hallo liebe Profis und Experten.
Ich habe mir heute die Version Keil Uvision 5 heruntergeladen und alles
installiert. Auch meinen ST-Linker richtig installiert etc.
Jedoch funktioniert irgendwie mein ARMBootload nicht.
das 2. Problem ist, das geschriebene Programm stimmt, ich kann es
herunterladen, jedoch zeigt es nicht auf meinem Bildschirm an, weiss
nicht was das Problem ist.
Wäre euch sehr dnakbar, da ich am DIenstag eine Prüfung habe und lernen
will.
MFG :-)
Nihat schrieb:> Wäre euch sehr dnakbar, da ich am DIenstag eine Prüfung habe und lernen> will.
und dann hast Du bis jetzt noch nichtmal die Grundlagen der Fehlersuche
gelernt?
'irgendwie funktioniert nicht' oder 'weiss nicht was das Problem ist'
sind keine Fehlermeldungen bei denen man Dir helfen kann.
und
'das geschriebene Programm stimmt,' ist eine interessante Aussagen wenn
es doch nicht funktioniert.
Wir hatten in der Schule nie den Aufbau des Keil Uvisions. Habe es
Zuhause mal von 0 heruntergeladen und weiss jetzt nicht ganz genau, was
mein Fehler ist. Das Programm muss stimmen, da ich nur ganz einfach ein
Skript geschrieben habe, welches sozusagen die Schalter mit den LEDs
verbindet.
Ich habe einen ARMSTM32F107VC. Das Problem ist nur, dass es keine
Ausgabe auf den Bildschirm macht und ich weiss nicht, wie ich das
beheben soll.
Ich habe die HEX-File Einstellung angekreuzt, den Debugger auf ST-Link
eingestellt, dann beim Flash Debugger auch ST-Linker eingestellt.
Weiter komme ich nicht..
Ist wirklich erstaunlich was für einen Schwachsinn man so von
manchen TO hier serviert bekommt. Hard-und Software müssen
aussagekräftig dokumentiert werden, sonst braucht man daran
keinen Gedanken verschwenden.
Hikol schrieb:> Weiter komme ich nicht..
Da du hier offensichtlich mit mehreren Nicknamen postest, was
ausdrücklich gegen die Nutzungsbedingungen des Forums verstößt
bist du hier fehl am Platze. Such dir ein anderes Forum. ;-(
Hikol schrieb:> Ich habe einen ARMSTM32F107VC. Das Problem ist nur, dass es keine> Ausgabe auf den Bildschirm macht und ich weiss nicht, wie ich das> beheben soll.
Hast Du denn eine Ausgabe auf einem Bildschirm programmiert? Wie soll
das gehen, ist doch kein Arduino, der über den seriellen Monitor etwas
auf dem Bildschirm ausgeben kann? Wenn Du ein Programm (kein Skript)
geschrieben hast, was Taster und LED bedient, dann müssen diese
funktionieren. Hast Du den Hardwareaufbau richtig vollzogen?
Nihat schrieb:> Jedoch funktioniert irgendwie mein ARMBootload nicht.
Was ist ein ARMbootload? Du programmierst doch mit dem ST-Link, nicht
über einen bootloader?
Mit dieser Problembeschreibung kann ich absolut nichts anfangen. Denke
mal über folgende Fragen nach und beantworte sie (ohne schon wieder
deinen Namen zu wechseln!):
1) Was möchte ich erreichen?
2) Wie möchte ich das erreichen? (Das sind absichtlich zwei separate
Fragen).
3) Was habe ich gemacht?
4) Welches Ergebnis habe ich erwartet?
5) Welches Ergebnis habe ich stattdessen erhalten?
6) Wie ist kein Know-How für andere einzuschätzen, damit sie für mich
verständlich und angemessen antworten (ohne mich wie einen Dummkopf zu
behandeln oder mich mich zu viel Fach-chinesisch zu überfordern).
Formulierungen, wie "Jedoch funktioniert irgendwie mein ARMBootload
nicht.", beantworten keine einzige dieser Fragen.
#include <stm32f10x.h>
#include "TouchP0P1.h"
int main(void)
{
InitTouchP0P1("1");
while(1)
P1=P0;
}
Das wäre mein Programm. Es ist ein ganz einfaches Skript, jedoch wollte
ich damit nur testen, ob meine Einstellungen gehen, aber irgendwie
leuchten auf meinem Board nur die LEDs und mein Display auf dem Board
ist schwarz.
Ja, in der Schule haben die uns gesagt, wir müssen auch den ARMBootload
installieren, aber jetzt habe ich gemerkt, dass es wirklich keinen Sinn
macht.
Notiz: Ich bin noch ganz am Anfang des Programmierens, ich werde
langsam,langsam bessere Einträge machen. Es tut mir leid, wenn die so
ungenau sind.
Hikol schrieb:> InitTouchP0P1("1");
Ich kenne weder die Bibliothek noch Dein Board, (wie heißen die?) aber
diese Programmzeile initialisiert nur den Touchscreen und zeigt nichts
auf dem Display an oder täusche ich mich? Was soll denn auf dem
Bildschirm zu sehen sein, wenn Du nichts dort hin schreibst?
Ich habe einen STM32F107VC ARM Cortex-M3
Also auf unserem Display sehen wir ganz einfach die Schalter von 0-7
eines Bytes und die Ausgänge (LEDs), die ich jetzt gerade verbunden
habe..
Im Betrieb oder in der Schule kann ich ganz gut damit arbeiten, aber
hier habe ich eventuell etwas verfehlt. Habe alle Arten versucht. Zuerst
konnte man das Gerät nicht erkennen, habe ich behoben, dann ging die
Ausgabe nicht, habe ich behoben und jetzt geht alles ausser das.
Hikol schrieb:> STM32F107VC ARM Cortex-M3
Das ist nur eine Prozessorbezeichnung, kein Board. Wie heißt das Board?
Wenn Du es nicht weißt, mach ein gut belichtetes, scharfes Foto davon.
Hikol schrieb:> Also auf unserem Display sehen wir ganz einfach die Schalter von 0-7> eines Bytes und die Ausgänge (LEDs), die ich jetzt gerade verbunden> habe..
Das würde bedeuten, dass auf dem Board bereits eine Software
läuft.(Betriebssystem) Das klingt alles recht unglaubwürdig.
Lass mich raten, in der Schule nehmt Ihr nicht die Keil-Umgebung oder
Ihr benutzt eine serielle Schnittstelle zum Überspielen des Programmes
... (und auf dem Board läuft ein Simulator o. ä.)
Über die Richtigkeit und Sinnhaftigkeit des Programmes (P1=P0) braucht
man nicht reden.
Das kannst Du vergessen, dass Du bis Dienstag die nötigen Kenntnisse
drauf hast. Du hättest wohl etwas früher anfangen sollen, im Unterricht
aufzupassen.
Was gebt ihr euch eigentlich mit einem Schüler ab?
Der soll seinen Lehrer fragen, denn dafür ist der ja da.
Und wenn er Prüfung hat, soll er mal Prioritäten setzen
was wichtiger ist. Lernen oder Spielen?
Hikol schrieb:> Display auf dem Board> ist schwarz.
Da erzählt der Bengel da erst, dass ein Bildschirm auf dem Board ist.
Man fasst es nicht. Bald ist das kein Kindergarten mehr, sondern
eine µC-Kita, oder noch schlimmer eine µC-Krippe. Dann müssen
wir hier wohl Windeln wechseln?
Hat denn das Display überhaupt schon mal was angezeigt, so
wie in der Doku von ETT? Vermutlich hat der Dussel die Module
nicht richtig zusammen gesteckt oder Kontakte verbogen.
Das hatten wir hier vor ein paar Wochen schon mal.
Dir scheint nicht klar zu sein, wie du das Programm auf den
Mikrocontroller übertragen sollst. Schreibe erstmal ohne diese Touch
Library ein Programm, dass eine LED blinken lässt. Damit kannst du den
Umgang mit der Programmierumgebung üben.
Erst wenn die LED erfolgreich blinkt, solltest du dich mit der Touch
Library beschäftigen. Mit Goolge finde ich dazu absolut gar nichts
gefunden. Das sagt mir, dass wahrscheinlich dein Lehrer diese Library
bereitgestellt hat und nun möchte, dass du sie zu benutzen lernst.
Sicher hat er dies im Unterricht erklärt oder Dir Lesestoff dazu mit
nach Hause gegeben.
Lass erst einmal eine LED blinken. Danach besorge die Dokumentation
dieser TouchP0P1 Library. Lies sie. Wenn du Fragen dazu hast, bitte um
Erlaubnis, wenigstens die Dokumentation (besser auch die Library) zu
veröffentlichen. Mach das dann und stelle danach hier deine Fragen.
Außerdem solltest du meine Fragen 1, 2, 3, 4, 5 und 6 beantworten (siehe
oben).
Am zweiten Foto ist mir aufgefallen, dass die gelbe LED an der Ethernet
Buchse leuchtet. Das ist äußerst seltsam. Normalerweise leuchten oder
blinken die LED's an diesen Anschlüssen nur, wenn da auch ein Kabel
eingesteckt ist. Ich fürchte, dass auf den Mikrocontroller ein völlig
falsches Programm läuft.
@stefanus
Vielleicht hat er doch recht mit dem script, auf dem Board läuft
scheinbar ein RTOS, wenn die Ausgänge und Eingänge auf_ dem _Display
des Boardes angezeigt werden.
RTOS könnte sein, aber:
> Das Programm muss stimmen, da ich nur ganz einfach ein> Skript geschrieben habe, welches sozusagen die Schalter mit den> LEDs verbindet.
1
#include<stm32f10x.h>
2
#include"TouchP0P1.h"
3
4
intmain(void)
5
{
6
7
InitTouchP0P1("1");
8
while(1)
9
P1=P0;
10
11
}
Dieses Programm verbindet mit Sicherheit nichts miteinander.
Stefan U. schrieb:> Dieses Programm verbindet mit Sicherheit nichts miteinander.
Wann kommst du eigentlich mal an den Punkt an zu begreifen,
dass Antworten bei dem TO nichts bringen?
Es funktioniert jetzt.
Und P1=P0 ist die Portdurchschaltung,welche P0 mit den LEDs verbindet
und InitTouchP0P1 schaltet sozusagen denn Touchpad ein und dadurch kann
ich die Portdurchschaltung bedienen.
Sieht nach einem Vergleich aus. Da wird verglichen, ob P1 den gleichen
Wert wie P0 hat. Das Ergebnis wird allerdings verworfen.
Kann es sein, dass hier ganz hässliche Magie mit Makros, globalen
Variablen und/oder C++ angewendet wurde? In welcher Schule wird so etwas
gelehrt?
Stefan U. schrieb:> Sieht nach einem Vergleich aus.
Sieht eher nach einer Zuweisung aus. Die restliche Syntax läßt auf c
schließen. Von daher wäre "==" ein Vergleich.
Ach ich doofkopp. Bin heute wohl völlig neben der Spur.
Ich habe gestern den ganzen Tag mit meinem Sohn erste Programmierübungen
gemacht. Bei der dort verwendeten Scriptsprache ist "=" ein Vergleich.