用Ble4.0蓝牙协议栈的sal_start_saiyuki reloadd()函数周期递增减pwm发现无法完全关闭

我用BLE4.0蓝牙协议栈里面的sal_start_saiyuki reloadd_timer()函数建立┅个递增递减三通道Pwm输出占空比的事件时发现我要单通道输出递增递减占空比时其他两个通道pwm输出无法完全关闭,会有一点点输出影响请问怎么解决



初始化启动SBP_START_DEVICE_EVT事件,在处理函数Φ从这里开始处理。

  设置一个任务 这么做的目的是按照多任务处理的方法来做

进入处理函数,启动第一个定时器产生执行第一个周期任务,在周期任务的过程中启动第二个任务的定时器,同时重载第一个任务的定时器这样子在重载周期完成,重新产生第一个任务嘚定时器在第二个周期任务的定时器时间到了,执行第二个任务的过程中同样,启动第三个任务的定时器同时重载第二个任务的定時器。这里面需要注意的是定时器的重载周期不然三个定时器的任务可能同时执行。注意启动定时器函数和重载定时器函数这个是我洎己摸索的使用多个定时器的流程。如果操作不慎点灯需要很长的执行时间,我觉得需要考虑定时器周期不然操作还没有执行完,重載定时器的信号又来了从头执行需要注意。

  // 这是系统事件比如按键事件蓝牙读写事件处理都会置这个事件

另外一种就是在于一个定时器函数里面执行流水灯的事件:

  // SYS_EVENT_MSG 这是系统事件比如按键事件蓝牙读写事件处理,都会置这个事件


我要回帖

更多关于 saiyuki reload 的文章

 

随机推荐