|
类型 |
特殊命令 |
|
描述 |
硬件定时器,用于硬件比较输出后一段时间后还原电平。 HW_TIMER只有1个,每次调用会强制停止之前的调用。 ZMC420SCAN每个输出口的HW_TIMER功能独立。
振镜控制器20170709以上固件版本增加功能: OP和MOVE_OP操作会关闭正在进行的HW_TIMER脉冲,这样可以使用HW_TIMER来实现类似PWM的功能,OP输出打开脉冲输出,下一个OP输出关闭脉冲输出,当使用MOVE_OP精准输出时,可以实现精准的PWM输出无限脉冲功能。 使用?*HW_TIMER可以看到还有多少脉冲剩余。 |
|
语法 |
HW_TIMER(mode, cyclonetime, optime, reptimes, opstate, opnum ) done = HW_TIMER_DONE mode:0停止,2-启动 cyclonetime:周期时间,us单位 optime:有效时间,us单位 reptimes:重复次数,启动模式,reptimes =0时,软关闭HW_TIMER,原来的脉冲没有完成的,会继续输出完成 opstate:输出缺省状态,输出口变为非此状态后开始计时 opnum:输出口编号,必须能硬件比较输出的口
振镜控制器20170710以上版本增加mode 3,类似0,当前脉冲完成后不再输出,但后面的OP仍会继续触发脉冲。 |
|
适用控制器 |
3系列部分、4系列及以上产品,4系列固件20170704及以上 |
|
例子 |
以下例程测试环境:ZMC432,固件:20170709(仿真器无法运行此指令)。 为了直观显示波形,周期设置的较大。
例一:不重复输出,周期为1 RAPIDSTOP(2) WAIT IDLE(0) BASE(0) ATYPE=1 UNITS=100 SPEED=100 ACCEL=500 DPOS=0 TRIGGER OP(0, OFF) HW_TIMER(2, 1000000, 500000, 1, OFF, 0) '输出口0变为on后,硬件定时器触发开始计时,500ms 后切换为off OP(0, ON) 运行效果:OP(0)保持输出500ms后关闭。
例二:周期调整为2,输出两次 RAPIDSTOP(2) WAIT IDLE(0) BASE(0) ATYPE=1 UNITS=100 SPEED=100 ACCEL=500 DPOS=0 TRIGGER OP(0, OFF) HW_TIMER(2, 1000000, 500000, 2, OFF, 0) '输出口0变为on后,硬件定时器触发开始计时,500ms 后切换为off OP(0, ON) 运行效果:以1000ms为周期,输出两个周期,每个周期前500ms开启,后半个周期关闭。
|
|
相关指令 |