1、初始化
(1)端口配置
static nrf_drv_pwm_t m_pwm2 = NRF_DRV_PWM_INSTANCE(2);
// This is for tracking PWM instances being used, so we can unintialize only
// the relevant ones when switching from one demo to another.
#define USED_PWM(idx) (1UL << idx)
uint8_t m_used = 0;
#define IR_OUTPUT_CJJ 5
(2)参数配置
uint16_t m_demo1_top = 422;
uint16_t m_demo1_seq_values = 0;
bool duty_cyles_down;
bool duty_cyles_up;
uint8_t IR_CHEN_timeout_counter = 0;
uint8_t IR_CHEN_counter = 0;
2、PWM完整程序
nrf_pwm_sequence_t m_demo1_seq =
{
.values.p_common = &m_demo1_seq_values,
.length = 1,
.repeats = 0,
.end_delay = 0
};
void demo1_init(void)
{
uint32_t err_code;
nrf_drv_pwm_config_t const config0 =
{
.output_pins =
{