Mikroelektronika MIKROE-724 データシート

ページ / 726
mikroBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
439
PWMx_Mc_Stop
Prototype
sub procedure PWMx_Mc_Stop()
Description Stops the Motor Control PWM module.
Parameters None.
Returns
Nothing.
Requires
The dsPIC30/33 MCU must have the Motor Control PWM module.
Example
‘ stop the Motor Control PWM1 module
 
PWM1_Mc_Stop()
Notes
- Number of PWM modules per MCU differs from chip to chip. Please, read the appropriate datasheet 
before utilizing this library. 
- PWM library routines require you to specify the module you want to use. To use the desired PWM 
module, simply change the letter 
x in the routine prototype for a number from 1 to 2
Library Example
The example changes PWM duty ratio on channel 1 continually. If LED is connected to the channel 1, a gradual change 
of emitted light will be noticeable.
Copy Code To Clipboard 
program PWM
dim pwm_period, current_duty as word
main:
  ADPCFG = 0xFFFF                               ‘ initialize AN pins as digital
  PORTB  = 0
  TRISB  = 0                                    ‘ initialize portb as output
  current_duty = 10
  Delay_ms(1000)
  pwm_period = PWM1_MC_Init(5000, 1, 0x01, 0)   ‘ Pwm_Mc_Init returns calculated timer 
period.
  PWM1_MC_Set_Duty(current_duty, 1)
  PWM1_MC_Start()
  while (TRUE)                                  ‘ Endless loop
    if (RB0_bit) then                           ‘ Button on RB0 pressed
      Delay_ms(20)
      Inc(current_duty)                      ‘ Increment current_duty
      if (current_duty > pwm_period) then     ‘ If we increase current_duty greater then 
possible pwm_period value
        current_duty = 0                     ‘ reset current_duty value to zero
      end if
      PWM1_MC_Set_Duty(current_duty,  1)     ‘ Set newly acquired duty ratio
    end if 
if (RB1_bit) then                            ‘ Button on RB1 pressed
      Delay_ms(20)
      Dec(current_duty)                      ‘ Decrement current_duty