添加pwm的功能,编译报错误
..\..\..\main.c(64): error:#20: identifier "TIMER0_ENABLED" is undefined
PP_PWM_INSTANCE(PWM1,1);
// Create the instance "PWM1" using TIMER1.
【nrf51822的pwm功能】官方的SDK :nRF5_SDK_12.3.0_d7731ad\examples\peripheral\pwm_library\pca10028\
官方默认的nrf51422,根据自己的芯片型号改选项卡的设置:
文章图片
文章图片
文章图片
留意工程栏是否以下的文件:
文章图片
main.c中功能实现代码:
#include "app_pwm.h"//添加头文件
APP_PWM_INSTANCE(PWM1,1);
Create the instance "PWM1" using TIMER1
static volatile bool ready_flag;
// A flag indicating PWM status.
void pwm_ready_callback(uint32_t pwm_id)// PWM callback function
{
ready_flag = true;
}
int main(void)
{
app_pwm_config_t pwm1_cfg = APP_PWM_DEFAULT_CONFIG_1CH(50L, 6);
//配置50us周期,20KHz(1/50MHz)
/* Switch the polarity of the second channel. */
pwm1_cfg.pin_polarity[1] = APP_PWM_POLARITY_ACTIVE_HIGH;
/* Initialize and enable PWM. */
err_code = app_pwm_init(&PWM1,&pwm1_cfg,pwm_ready_callback);
APP_ERROR_CHECK(err_code);
app_pwm_enable(&PWM1);
//使能pwm
app_pwm_channel_duty_set(&PWM1, 0, 80);
//设置pwm的占空比
}
编译的时候,错误提示没有定义定时器0,其原因是配置文件中定时器使能的宏没有打开,需要用到的哪个定时器也要打开。
文章图片
文章图片
编译通过:
文章图片
0 Error(s), 0 Warning(s).完美!!!!!
推荐阅读
- 硬件|nRF51822 ADC PWM
- nrf51822|一起学nRF51xx 9 - pwm
- NRF51822 Timer
- NRF51822自学笔记(二)PWM
- NRF51822自学笔记(一) 流水灯