用C#控制智能小车
http://cache.amobbs.com/bbs_upload782111/files_33/ourdev_580744G1ZDEL.jpg(原文件名:MF_PWM_H_2010090504.jpg)
相关代码:
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://blog.sina.com.cn/s/blog_6b938f630100kha2.html 相当帅气
页:
[1]