Hardware Abstraction Layer und Programmierung mit Registern

EmbeddedControlHub
EmbeddedControlHub
350 بار بازدید - 9 ماه پیش - In den bisherigen Videos wurde
In den bisherigen Videos wurde der STM32 mithilfe des Hardware Abstraction Layers (HAL) programmiert, um mit der Peripherie des Mikrocontrollers zu kommunizieren. Wenn beispielsweise ein Ausgangspin seinen Zustand ändert, erfolgt dies durch eine entsprechende HAL-Anweisung. Im Hintergrund verändern die HAL-Funktionen lediglich die Einträge in den entsprechenden Speicherbereichen des Mikrocontrollers. Dies kann auch ohne HAL realisiert werden, indem die Speicherzellen (Register) gezielt manipuliert werden.

Dieses Video erklärt grob, wie der Hardware Abstraction Layer funktioniert, und zeigt auf, wie Register manipuliert werden können. Da der STM32 über einen 32-Bit-Datenbus verfügt, haben die Register eine Größe von 4 Byte. Um die Komplexität gering zu halten, wird hier der 8-Bit-Mikrocontroller ATmega328P als Beispiel verwendet. Am Beispiel einer blinkenden LED am Pin 13 des Arduino UNO (entsprechend PB5 des ATmega328P) wird gezeigt, wie Register sicher verändert werden können. Es wird auf spezifische Register des Mikrocontrollers eingegangen und deren Implementierung in der Arduino IDE und im Atmel Studio demonstriert. Außerdem werden die Unterschiede erläutert, die auftreten, wenn die Lösung durch die direkte Programmierung der Register erfolgt oder wenn der Code in Form eines Arduino Sketches geschrieben wird.

Link zum Datenblatt ATmega328P: ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf

Link zum Microship Studio: www.microchip.com/en-us/tools-resources/develop/microchip-studio
9 ماه پیش در تاریخ 1402/08/23 منتشر شده است.
350 بـار بازدید شده
... بیشتر