muxb 发表于 2020-6-10 23:24

【RTOS】+ RT-Thread + 龙芯2K开发板GPIO输出PWM

基于已有的gpio驱动,增加对板载蜂鸣器的控制,附上源码供参考。刚开始以为蜂鸣器是电平控制,后来经过多次测试才发现是PWM控制。
测试命令执行效果如下:





在drv_gpio.c文件中增加如下代码:
蜂鸣器的控制脚是ls2k 的GPIO 39.

void buzzer_test(int argc, char *argv[])
{
        int dlyh,dlyl,cnt;
       
        if(argc<3){
                rt_kprintf("Usage:buzzer_test pwmH pwmL test_cnt\n");
                return;
        }
       
        dlyh = atoi(argv);
        dlyl = atoi(argv);
        cnt = atoi(argv);
        rt_kprintf("buzzer test!\n");
        rt_pin_mode(39, 0);
        do{
                rt_pin_write(39, 1);
                rt_thread_mdelay(dlyh);
                rt_pin_write(39, 0);
                rt_thread_mdelay(dlyl);
        }while(cnt--);
        rt_kprintf("buzzer test ok!\n");
}
MSH_CMD_EXPORT(buzzer_test,LS2K PWM buzzer_test);



zeshoufx 发表于 2020-6-11 11:33

谢谢分享,,,,,,,
页: [1]
查看完整版本: 【RTOS】+ RT-Thread + 龙芯2K开发板GPIO输出PWM