Hi! Ich versuche gerade mit einem kleinen STM32F042K6 Nucleo drei Elektroden/Tasten mit der STM TouchLib zum Laufen zu bekommen. Genutzt habe ich Cube mit HAL. Ich habe die Doku über die Touchlib. Alle Suchen nach irgendwelchem Beispielcode enden ständig im Leeren, CMSYS oder TSC ohne den TouchTreiber von STM. Ich verstehe derzeit einfach nicht wie das ganze zu händeln ist :( Habe bei einer Suche ein Polling mit: if(tsl_user_Exec() == TSL_USER_STATUS_OK_NO_ECS) gefunden, die nun in der main while auch munter durchlaufen wird. Habe einen Interrupt, der auch läuft namens: void HAL_TSC_ConvCpltCallback(TSC_HandleTypeDef* htsc) Kann mir als Neuling in HAL, STM32 und zudem TSC jemand einmal bitte auf die Sprünge helfen? Möchte doch nur unsere Küche nochmal erhellen, lach. Danke Euch erst einmal, Thomas
Wenn ich mir die Beispiele unter: STM32Cube_FW_F0_V1.9.0/Projects/STM32F072B-Discovery/Examples/TSC ansehe, scheinen mir die komplett für polling oder interrupt. Jeweils für 3 Tasten.
Ach da sind auch noch Examples versteckt. Unfassbar... Hab auch welche runter geladen, aber habe immer nur CMSYS Dinge gefunden. Danke Dir fürs Aufzeigen! Werde ich mir anschauen. Schönen Abend noch!
Hallo! Dank Deines Tips mit den HAL-Libs funktioniert der Touch nun. Mein Problem ist, dass alle drei Tasten in einer Gruppe zusammen sind. Diese Gruppe kann ich wunderbar auswerten - aber ich kommt nicht auf den gedrückten Button daraus. Im Interrupt-Example sieht man, dass drei Buttons genutzt werden. Diese sind aber auch über drei Gruppen verstreut - was bei mir theoretisch ja auch ginge. Nun würde es mich aber brenned interessieren wie ich denn innerhalb einer Gruppe nach
1 | uhTSCAcquisitionValue = HAL_TSC_GroupGetValue(&htsc, TSC_GROUP2_IDX); |
die Taste heraus finde. Das geht doch bestimmt irgendwie. Leider finde ich auch im Datenblatt keine Infos darüber. Evtl. kann mir da jemand einen Tip geben. Schönen Abend noch, Thomas.
Es gibt ja neben dem TSC_GROUP2_IDX auch noch für jeden Pin ein TSC_GROUP2_IO1. Wenn ich den Wert auslese, steht aber immer 4096 drin...
1 | uhTSCAcquisitionValue = HAL_TSC_GroupGetValue(&htsc, TSC_GROUP2_IO1); |
Und mit "TSC_GROUP2_IO2" und "TSC_GROUP2_IO3" bekomme ich ständig "0" zurück geliefert.
Also so wie ich das sehe, ist es nicht gedacht mehrere Buttons in einer Group zu haben. Alle Register, wie auch zugefügte HAL-Files deuten darauf hin, dass man es nicht filtern kann. Falls noch jemand etwas anderes darüber weiß, bitte her damit ;) Thomas
Thomas schrieb: > Äähm, niemand Ideen darüber? Servus, als ich so vor 1-2 Jahren mal 3 simple Touch-"Buttons" mit einem '32F042 implementieren wollte, und nachdem ich relativ viel Zeit dafür geopfert hatte, halbwegs durch die Lib und die Beispiele von ST durchzusteigen, war meine Idee schließlich, den ganzen TSC-Library-Kram von ST über Bord zu werfen und die Hardware direkt mit meinem eigenen "Treiber" anzusprechen. Hätte ich gleich so machen sollen...
Hi Thomas² :) > ...ganzen TSC-Library-Kram von ST über Bord > zu werfen und die Hardware direkt mit meinem eigenen "Treiber" > anzusprechen. Oh, okay. Das heißt, Du nutzt aber den TSC vom µC noch - und kein separater Chip dafür? Wenn ja, wie zum Teufel kommt man über die Hardware-Register der Gruppen auf die IOs? Kannst Du mir da was sagen?
Wenn es um Touch geht empfehle ich schau dir lieber andere Hersteller wie Renesas Cypress oder Atmel an. Deren Technologien sind ausgereift und vor allem Renesas hat einen sehr guten Support. St ist nicht gut aufgestellt wenn es um Touch geht und selbst die faes haben keine Ahnung von der Materie
Hmm, echt schade eigentlich. Denke für ein richtiges Bedienpanel mit Sliders, Wheels usw. wird man eh besser auf nen dedizierten Touch-Chip gehen. Ich warte hier noch bisschen ob noch jemand Erfahrung mit sich bringt, ansonsten gibt es einmal eine Nachfrage in der STM32 Community.
Thomas schrieb: > >> ...ganzen TSC-Library-Kram von ST über Bord >> zu werfen und die Hardware direkt mit meinem eigenen "Treiber" >> anzusprechen. Jo. Genauso habe ich das auch gemacht, als ich mal einen Touchsensor gebraucht habe. Was STM an embedded Libraries für ihre Controller raushaut, ist - gelinde gesagt - eine Unverschämtheit. Glücklicherweise geht es ja nahezu immer auch ohne. > Das heißt, Du nutzt aber den TSC vom µC noch - und kein separater Chip > dafür? Mir ist kein STM32F0x bekannt, der einen Touch Sensing Controller hätte. Das sind ganz simple Zugriffe auf die GPIOs. Thomas schrieb: > echt schade eigentlich. > Denke für ein richtiges Bedienpanel mit Sliders, Wheels usw. wird man eh > besser auf nen dedizierten Touch-Chip gehen. Warum? Das ist alles kein Hexenwerk.
Thomas schrieb: > Das heißt, Du nutzt aber den TSC vom µC noch - und kein separater Chip > dafür? Ja, ich habe da schon die Touch-Hardware des STM32F042 benutzt. Das Projekt liegt auf dem Rechner in der Firma. Muss ich aber mal schauen, ob ich das nach der langen Zeit evtl. trotzdem soweit verstehe, wenn ich in's Datenblatt bzw. Referenz-Manual schaue, um evtl. Tipps zu geben. Wie sieht denn Deine Schaltung genau aus, was den Touch-Sensor Teil angeht? D.h. an welchen Pins sind die Sensoren, wo der Charge-Kondensator?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.