TI中文支持网
TI专业的中文技术问题搜集分享网站

F28335输出5M的脉冲

1.我用定时器在定时器中断服务子程序里边翻转I/O,我寄存器设置的是周期0.1微秒,但是可能语句需要机器周期,示波器观察只有2M左右。

2.我用delay_us函数试了一下。最小只能是delay_us(0.1),也就是0.1微秒翻转一下I/O,频率也是5M,可能语句需要机器周期,示波器观察也只有1M左右。

3.我用PWM可以输出5M的方波,但是我想只输出4个周期方波,不知道怎么设置。

谢谢各位

Johnson Chen1:

中断本身是要压栈和出栈的,因此事需要指令周期的,0.1us 中断CPU时响应不过来的,发4个PWM波是否有时序要求吗,可以放主循环里做吗?如果可以的话,你可以用NOP和翻转语句来做,这样可以实现精确的5M,也可以控制只发4个波。

1.我用定时器在定时器中断服务子程序里边翻转I/O,我寄存器设置的是周期0.1微秒,但是可能语句需要机器周期,示波器观察只有2M左右。

2.我用delay_us函数试了一下。最小只能是delay_us(0.1),也就是0.1微秒翻转一下I/O,频率也是5M,可能语句需要机器周期,示波器观察也只有1M左右。

3.我用PWM可以输出5M的方波,但是我想只输出4个周期方波,不知道怎么设置。

谢谢各位

Zhibin Yang:

回复 Johnson Chen1:

我试了,这两句翻转I/O加一个nop指令也需要33个时钟周期,也就是33*6.67ns=220ns,这翻转一次是半个周期,满足不了我5M的输出频率(周期200ns)

1.我用定时器在定时器中断服务子程序里边翻转I/O,我寄存器设置的是周期0.1微秒,但是可能语句需要机器周期,示波器观察只有2M左右。

2.我用delay_us函数试了一下。最小只能是delay_us(0.1),也就是0.1微秒翻转一下I/O,频率也是5M,可能语句需要机器周期,示波器观察也只有1M左右。

3.我用PWM可以输出5M的方波,但是我想只输出4个周期方波,不知道怎么设置。

谢谢各位

Zhibin Yang:

回复 Johnson Chen1:

我试了,这两句翻转I/O加一个nop指令也需要33个时钟周期,也就是33*6.67ns=220ns,这翻转一次是半个周期,满足不了我5M的输出频率(周期200ns)

1.我用定时器在定时器中断服务子程序里边翻转I/O,我寄存器设置的是周期0.1微秒,但是可能语句需要机器周期,示波器观察只有2M左右。

2.我用delay_us函数试了一下。最小只能是delay_us(0.1),也就是0.1微秒翻转一下I/O,频率也是5M,可能语句需要机器周期,示波器观察也只有1M左右。

3.我用PWM可以输出5M的方波,但是我想只输出4个周期方波,不知道怎么设置。

谢谢各位

Zhibin Yang:

回复 Johnson Chen1:

试过了,满足我要求了,看来还是直接给寄存器赋值比较快

赞(0)
未经允许不得转载:TI中文支持网 » F28335输出5M的脉冲
分享到: 更多 (0)