public static void Main()
{
PWM pwm = new PWM(PWM.Timer.T3, 1000, 100);
OutputPort Lc = new OutputPort((Cpu.Pin)GPIO_NAMES.PA4, false);
pwm.Start(PWM.Channels.CH1, 50, PWM.Mode.PWM1); //PA6
OutputPort Rc = new OutputPort((Cpu.Pin)GPIO_NAMES.PA5, false);
pwm.Start(PWM.Channels.CH2, 90, PWM.Mode.PWM1); //PA7
while (true)
{
Thread.Sleep(1000);
}
}
我们选用Timer3进行PWM输出,查看开发板原理图,Timer3的第一路PWM输出的管脚为PA6,第二路为PA7,我们选择PA4和PA5作为方向控制。
函数简介:
(1)、PWM声明
public PWM(PWM.Timer timer, uint f, ushort count);
timer – 芯片时钟,可选Timer2,Timer3,Timer4,Timer5;
f – PWM输出频率,一般建议1000以上,不过几百也可以,网友可以自行测试。
Count – 计数(可看成占空比的分母)
(2)、PWM开始输出
public int Start(PWM.Channels ch, ushort dutyCycle, PWM.Mode mode);
ch – PWM通道,可有四路通道
dutyCycle – 可看成占空比的分子
mode – pwm输出方式,可以是方波,也可以强制为高或低;
(3)、PWM停止输出
public int Stop(PWM.Channels ch);
视频:
http://video.sina.com.cn/v/b/37930017-1804832611.html
CSDN博客文章:
http://blog.csdn.net/yefanqiu/archive/2010/09/05/5865279.aspx