German B4R - Zugriff auf COMx für den Programm-Transfer verweigert

FASchmidt

Member
Licensed User
Hallo,
ich versuche ein Programm auf meine Entwicklungsbord Node MCU zu übertragen. Dies ist leider unter B4R (2.51) bisher erfolglos. Ich erhalte einen Fehler für den seriellen Port COM3. Mit der Arduino IDE (1.8.9) funktioniert einer Übertragung auf dem selben Port hingegen problemlos.
Mein Betriebssystem ist Win10 pro (64bit). Wo könnte die Ursache für die Zugriffsverweigerung liegen?
Gruß Andreas.
 

Attachments

pucki

Active Member
Licensed User
Ich würde sagen, genau weil es unter Arduino selbst funktioniert ;) Ich habe bei meine 8266 Wlan-Board die Erfahrung gemacht, das ich die Arduino-IDE NICHT auf haben darf. Und ich muss das Board in der Arduino IDE einstellen dann die IDE beenden.

Wenn alle Stricke reisen musst du es so machen wie ich mit meinen Programmer für ein kleinen Atiny ;) Compiliere das Prg in B4R dann lade das Ergebnis in die Arduino-IDE und schicke es von dort zum Programmer.

Rein technisch gesehen ist B4X nur ein "Vorprogrammierer" der das Basic in Arduino-IDE-C übersetzt. Du musst ja Arduino-Umgebung angeben. Nach den Starten des Compilieren, wird der Code nämlich in Arduino-IDE übersetzt und dann mit deren Programmer geschrieben.

Dieser Schritt kann leider Probleme machen. Besonders weil B4R nicht alles Programmer unterstützt. Lies dazu mal meine Anfrage an Erle.
https://www.b4x.com/android/forum/threads/usbasp-avr-arduino-programmer.102100/#post-641038

Ich glaube das ist das Selbe Problem wie bei mir.

Fakt ist. B4R unterstützt kein "Upload with Programmer" (<- Das ist ein Befehl der Arduino-IDE) sondern nur direkte "upload in den Chip".

Wenn du ein Lösung findest sag Bescheid ;) Ich mag den Umweg auch nicht. Aber der ist mir lieber als noch eine Programmiersprache zu lernen. ;)

Gruß

Pucki
 

FASchmidt

Member
Licensed User
Nach einigem Experimentieren unter Zuhilfenahme von Microsoft Sysinternals Tools konnte das Problem einkreisen und auch beseitigen.

Ich hatte die Arduino-IDE über den Windows Store installiert. Die über den Store installierten Apps laden unter "C:\Program Files\WindowsApps\". In diesem Ordner hat der Benutzer nur eingeschränkte Rechte. Dies führt dazu, dass B4R die Arduino-IDE nicht wie erforderlich fernsteuern kann.

Nachdem ich mir für den Unterordner der Arduino-IDE-Installation Vollzugriff gewährt hatte, funktioniert nun auch das Kompilieren, Übertragen und Starten des B4R-Programms für das Node MCU (und wahrscheinlich auch weitere Bords) uneingeschränkt und zu meiner Zufriedenheit.

Möglicherweise wäre das Problem nicht entstanden wenn ich statt über den Windows Store den herkömmlichen Weg für die INstallation der Arduino-IDE gewählt hätte.


Gruß Andreas
 

thetahsk

Active Member
Licensed User
Nach einigem Experimentieren unter Zuhilfenahme von Microsoft Sysinternals Tools konnte das Problem einkreisen und auch
Wollte ich dir gerade auch sagen.
Arduino und B4X immer unter c:\arduino bzw c:\b4R installieren und nichts aus dem Store installieren.

Du kannst mit dem Process Explorer von Mark Russinovich
https://docs.microsoft.com/de-de/sysinternals/downloads/process-explorer

dir die Prozesse raussuchen die auf die Com Schnittstellen zugreifen bzw. diese belegen.
"Find handle or DLL" -> "\device\serial0"
Com1 entspricht serial0
 

thetahsk

Active Member
Licensed User
Nach einigem Experimentieren unter Zuhilfenahme von Microsoft Sysinternals Tools konnte das Problem einkreisen und auch beseitigen.
Falls du Visual Studio installiert hast, hier noch ein heisser Tip für eine geniale Erweiterung VisualMicro mit der man auch debuggen kann.
https://marketplace.visualstudio.com/items?itemName=VisualMicro.ArduinoIDEforVisualStudio
Hat den Vorteil das du einen vernünftigen und intelligenten Editor hast.

Noch zu erwähnen wäre Visual Studio Code, ist Open Source und auch sehr gut gemacht.
 
Top