Trace: en

Welcome to WisClub

This is an old revision of the document!


8051 Code Uitleg

De gegeven code definieert twee macro's met behulp van de C preprocessor (`#define`). Deze macro's zijn bedoeld om specifieke bits in het `PWM_CTRL` register van een 8051 microcontroller (of een variant ervan) in te stellen of te wissen.

  1. PWM2OutPolarHighAct():
    • Deze macro is bedoeld om de uitgangspolariteit van PWM2 (Pulse Width Modulation kanaal 2) te configureren.
    • Het maakt gebruik van een bitwise AND gecombineerd met een bitwise NOT (`&=` en `~`) om een specifieke bit, `bPWM2_POLAR`, in het `PWM_CTRL` register te wissen (op 0 te zetten).
    • Het resultaat is dat de PWM2 uitgang standaard laag is en hoog wordt geactiveerd (hoog effectief).
  1. PWM1OutPolarLowAct():
    • Deze macro is bedoeld om de uitgangspolariteit van PWM1 (Pulse Width Modulation kanaal 1) te configureren.
    • Het maakt gebruik van een bitwise OR (`|=`) om een specifieke bit, `bPWM1_POLAR`, in het `PWM_CTRL` register te zetten (op 1).
    • Het resultaat is dat de PWM1 uitgang standaard hoog is en laag wordt geactiveerd (laag effectief).

Opmerking: De exacte werking is afhankelijk van de definitie van `PWM_CTRL`, `bPWM1_POLAR`, en `bPWM2_POLAR` en de datasheet of documentatie van de specifieke 8051-variant die wordt gebruikt.

  • Weggooien is Sund : Wasting is a Sin

Pages in this namespace:

Automatic sub page list here

No subnamespaces.

Markdown code test

De gegeven code definieert twee macro's met behulp van de C preprocessor (

#define

). Deze macro's zijn bedoeld om specifieke bits in het

PWM_CTRL

register van een 8051 microcontroller (of een variant ervan) in te stellen of te wissen. Laten we elk stukje code nader bekijken:

1. `#define PWM2OutPolarHighAct()(PWM_CTRL &= ~bPWM2_POLAR)`:

  • Deze macro is bedoeld om de uitgangspolariteit van PWM2 (Pulse Width Modulation kanaal 2) te configureren.
  • Het maakt gebruik van een bitwise AND gecombineerd met een bitwise NOT (`&=` en `~`) om een specifieke bit, `bPWM2_POLAR`, in het `PWM_CTRL` register te wissen (op 0 te zetten).
  • De naam van de macro, `PWM2OutPolarHighAct`, suggereert dat het de PWM2 uitgang configureert om standaard laag te zijn en hoog te worden geactiveerd (hoog effectief).

2. `#define PWM1OutPolarLowAct() (PWM_CTRL |= bPWM1_POLAR)`:

  • Deze macro is bedoeld om de uitgangspolariteit van PWM1 (Pulse Width Modulation kanaal 1) te configureren.
  • Het maakt gebruik van een bitwise OR (`|=`) om een specifieke bit, `bPWM1_POLAR`, in het `PWM_CTRL` register te zetten (op 1).
  • De naam van de macro, `PWM1OutPolarLowAct`, suggereert dat het de PWM1 uitgang configureert om standaard hoog te zijn en laag te worden geactiveerd (laag effectief).

Het is belangrijk op te merken dat, hoewel de code de werking van de macro's definieert, de exacte betekenis en werking afhankelijk is van de definitie van `PWM_CTRL`, `bPWM1_POLAR`, en `bPWM2_POLAR` en de datasheet of documentatie van de specifieke 8051-variant die wordt gebruikt. De datasheet zal details bevatten over het gedrag van elk bit in het `PWM_CTRL` register en hoe het de PWM uitgangspolariteit beïnvloedt.