Kurze Antwort: JA!
Lange Antwort:
Auf jeden Fall möglich und auch sinnvoll, denn es ist nicht nur äußerst logisch sondern auch ungeheuer mächtig und irrsinig schnell (wie asm Code).
C ist einfach, es hat nur ca. 20 reservierte Keywords und behandelt quasi alles und jedes an Hardware nach dem Motto "alles ist eine Datei". Für Anfänger irritierend: alle Dateien werden per Pointer adressiert.
Auch sonst ist direkter Zugriff auf Speicheradressen zum lesen und schreiben per Pointer üblich und verwirrt viele Anfänger - aber es ist auch nicht absolut unverzichtbar.
Die Übergabe von Parametern an Funktionen als Werte oder als Pointer ist ebenfalls üblich, und das sieht auch für Anfänger oft verwirrend aus, dennoch kann man es auch hier für Anfänger einfach halten.
Aber um einen µC oder SoC anzusteuern, braucht es nicht nur die wenigen Standard-Befehle sondern vor allem viele gute Libraries, die einen anwenderfreundlichen, simplen Zugriff auf die IO Pins und die Roboter-Sensoren erlauben, ohne dies wird es gnadenlos kompliziert.
Mein Tipp:
Ich habe meine ersten Schritte in richtigem C eigentlich mit Arduinos gelernt (streng genommen ist es C++, aber C kann man wie eine Untermenge behandeln). Zu Arduinos gibt es endlos viele Tutorials, die den Gebrauch von C(++) für diese µCs erklären, und genau durch diesen praktischen Gebrauch lernt man C(++) quasi nebenher, by doing. Und die Libs sind so einfach gehalten, dass du nicht schon am Anfang an der komplizierten Hardware-Low-Level-Programmierung scheiterst. Alles andere kommt dann automatisch mit der Zeit.
Nach und nach bin ich dann etwas versierter geworden, und mit diesem Wissen kann ich mittlerweile sogar auch Rasperry Pis mit C(++) programmieren, auch mit passenden Libs, wenn auch nicht so extrem vereinfacht wie für Arduino. Ähnlich wird es auch für andere C(++) Plattformen möglich sein.
Also wenn du C(++) für Roboterprogrammierung lernen willst, dann fang genau so an:
kauf dir einen Arduino einzeln oder als Starterset, und dann mach einfach die Tutorials durch, Schritt für Schritt, und du wirst sehen: es ist ein Kinderspiel!
Beispiel-Links:
Links zu gängigen Arduino Tutorials:
Arduino Playground
https://www.arduino.cc/en/Tutorial/HomePage
tronixstuff (free tutorials):
http://tronixstuff.com/tutorials/
Sainsmart_Nano-Starter-Kit:
http://www.selloutsoon.com/albums/do...0/Nano+kit.rar
Sainsmart_Mega2560-Starter-Kit:
http://www.sainsmart.com/zen/documen...s_MEGA2560.rar
Arduino-Kochbuch_Magolis_oReilly:
https://docs.google.com/file/d/0Bxba...t?pref=2&pli=1
Arduino-Praxisbuch_Sommer_Franzis
https://www.elo-web.de/electronic/di...ldBeAuthorized
Arduino-Codereferenz in deutsch (Forumslink):
https://www.arduinoforum.de/arduino-...32885#pid32885
Funduino Tutorial
http://funduino.de/wp-content/upload...ch-12-2016.pdf
Funduino Anleitung deutsch (Internet):
https://funduino.de/
Lesezeichen