Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
FastPWM/Device/FastPWM_LPC1768.cpp
- Committer:
- anasse
- Date:
- 2022-03-31
- Revision:
- 0:a59a3d743804
File content as of revision 0:a59a3d743804:
#ifdef TARGET_LPC176X #include "FastPWM.h" void FastPWM::initFastPWM( void ) { //Set clock source LPC_SC->PCLKSEL0|=1<<12; bits = 32; } void FastPWM::pulsewidth_ticks( uint32_t ticks ) { *(_pwm.MR) = ticks; LPC_PWM1->LER |= 1 << _pwm.pwm; } void FastPWM::period_ticks( uint32_t ticks ) { LPC_PWM1->MR0 = ticks; LPC_PWM1->LER |= 1 << 0; } uint32_t FastPWM::getPeriod( void ) { return LPC_PWM1->MR0; } //Maybe implemented later, but needing to change the prescaler for a 32-bit //timer used in PWM mode is kinda unlikely. //If you really need to do it, rejoice, you can make it run so slow a period is over 40,000 year uint32_t FastPWM::setPrescaler(uint32_t reqScale) { //Disable dynamic prescaling dynamicPrescaler = false; return 1; } #endif