嵌入式技术论坛
直播中

王树林

7年用户 1672经验值
私信 关注
[问答]

有什么方法(不加入输入的情况下)控制pwm脉冲数量吗

  使用hal库裸机编程时可以通过pwm中断来计数脉冲,在rt
thread怎么使能、判断这个中断标志?或者有其他方法(不加入输入的情况下)控制pwm脉冲数量吗?

回帖(5)

梅利号

2022-7-7 14:25:59
直接把裸机程序移植过来最省事
举报

王树林

2022-7-7 14:26:10
裸机时启动代码中带有中断入口函数,函数名一致就能完成中断调用。但是rt thread的中断机制和裸机时不一样,没法直接判断pwm中断源。
举报

梅利号

2022-7-7 14:26:39
你确定裸机下的中断函数,在rt-thread下 即使开启中断,也无法进入中断函数?
你忘记了rt-thread也是靠SysTick_Handler中断来计数的,中断是可以用的
举报

王树林

2022-7-7 14:26:50
是我理解错了,能进入中断,应该是进了之后出不来了。请问在使用rt thread时进入中断和出中断时只要加入rt_interrupt_enter()和rt_interrupt_leave()就可以吗?
举报

梅利号

2022-7-7 14:27:10
参考SysTick_Handler

void SysTick_Handler(void)
{
    /* enter interrupt */
    rt_interrupt_enter();
    HAL_IncTick();
    rt_tick_increase();
    /* leave interrupt */
    rt_interrupt_leave();
}
就是不加rt_interrupt_enter和rt_interrupt_leave,中断也是可以正常返回的
调用 rt_interrupt_enter() 函数,作用是把全局变量 rt_interrupt_nest加 1,用它来记录中断嵌套的层数
举报

更多回帖

发帖
×
20
完善资料,
赚取积分