72 lines
1.4 KiB
C
72 lines
1.4 KiB
C
![]() |
#include "rtos_pub.h"
|
|||
|
#include "BkDriverPwm.h"
|
|||
|
#include "pwm_pub.h"
|
|||
|
#include "error.h"
|
|||
|
#include <stdint.h>
|
|||
|
#include <stdlib.h>
|
|||
|
#include <finsh.h>
|
|||
|
#include "test_config.h"
|
|||
|
|
|||
|
|
|||
|
#ifdef PWM_TEST
|
|||
|
|
|||
|
|
|||
|
static void pwm_test(int argc,char *argv[])
|
|||
|
{
|
|||
|
UINT32 channel,duty_cycle,cycle;
|
|||
|
|
|||
|
if(argc != 4)
|
|||
|
return;
|
|||
|
|
|||
|
channel = atoi(argv[1]);
|
|||
|
duty_cycle = atoi(argv[2]);
|
|||
|
cycle = atoi(argv[3]);
|
|||
|
|
|||
|
if(cycle < duty_cycle)
|
|||
|
{
|
|||
|
rt_kprintf("pwm param error: end < duty\r\n");
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
rt_kprintf("---pwm %d test--- \r\n",channel);
|
|||
|
|
|||
|
#if (CFG_SOC_NAME == SOC_BK7231N)
|
|||
|
bk_pwm_initialize(channel, cycle, duty_cycle,0,0); /*pwm 模块初始化,设置对应通道的占空比*/
|
|||
|
#else
|
|||
|
bk_pwm_initialize(channel, cycle, duty_cycle); /*pwm 模块初始化,设置对应通道的占空比*/
|
|||
|
#endif
|
|||
|
bk_pwm_start(channel); /*启动pwm */
|
|||
|
|
|||
|
rt_thread_delay(2000);
|
|||
|
|
|||
|
bk_pwm_stop(channel); /*关闭pwm */
|
|||
|
rt_kprintf("---pwm test stop---\r\n");
|
|||
|
}
|
|||
|
|
|||
|
static void pwm_cap_test(int argc,char *argv[])
|
|||
|
{
|
|||
|
UINT32 channel,PwmMode;
|
|||
|
|
|||
|
if(argc != 3)
|
|||
|
return;
|
|||
|
|
|||
|
channel = atoi(argv[1]);
|
|||
|
PwmMode = atoi(argv[2]);
|
|||
|
//duty_cycle = atoi(argv[2]);
|
|||
|
//cycle = atoi(argv[3]);
|
|||
|
|
|||
|
rt_kprintf("---pwm %d test--- \r\n",channel);
|
|||
|
|
|||
|
bk_pwm_capture_initialize(channel,PwmMode); /*pwm 模块初始化,PwmMode: 1 :pos 2:neg*/
|
|||
|
|
|||
|
rt_thread_delay(100);
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
MSH_CMD_EXPORT(pwm_test,pwm test);
|
|||
|
MSH_CMD_EXPORT(pwm_cap_test,pwm cap test);
|
|||
|
|
|||
|
#endif
|