嵌入式大赛龙芯开发板产生PWM信号
/*部分代码*/
#define THREAD_TEST_PRIORITY (25)
#define THREAD_TEST_STACK_SIZE (4*1024) // 4k
#define THREAD_TEST_TIMESLICE (10)
struct rt_thread thread_test;
ALIGN(8)
rt_uint8_t thread_test_stack[THREAD_TEST_STACK_SIZE];
// 测试用的线程的入口
void thread_test_entry(void *parameter)
{
pwm_info_t pwm_info;
pwm_info.gpio = LS1C_PWM0_GPIO07; // pwm引脚位gpio07
// pwm_info.gpio = LS1C_PWM0_GPIO04;
pwm_info.mode = PWM_MODE_NORMAL; // 正常模式--连续输出pwm波形
pwm_info.duty = 0.25; // pwm占空比
pwm_info.period_ns = 5*1000*1000; // pwm周期5ms
// pwm初始化,初始化后立即产生pwm波形
pwm_init(&pwm_info);
while (1)
{
// 延时100ms,禁止pwm
rt_thread_delay(RT_TICK_PER_SECOND/10);
pwm_disable(&pwm_info);
// 延时100ms,使能pwm
rt_thread_delay(RT_TICK_PER_SECOND/10);
pwm_enable(&pwm_info);
}
}