特殊指令:高速计数


Hsc_Config:高速计数配置

高速计数配置指令用于配置高速计数的基本工作模式。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,进行工作模式的配置。EN可以一直保持为1,指令会比较当前配置,只有在参数与当前配置不一致时,才进行配置。
PortUSINT输入需要配置的高速计数端口。
Mode USINT 输入 高速计数的计数模式:
  • [0] Mode_A:只对A相的脉冲进行计数。
  • [1] Mode_B:只对B相的脉冲进行计数。
  • [2] Mode_ABx2:AB相计数,x2模式(一相为方向定义,另一相发生上升沿或下降沿,计数改变)。
  • [3] Mode_ABx4:AB相计数,x4模式(两相互为方向定义,A相或B相发生上升沿或下降沿,计数改变)。
Dir USINT 输入 计数的方向(计数方向的设定对AB相计数无效):
  • [0] Direction_Up:向上计数。
  • [1] Direction_Down:向下计数。

Hsc_SetCount:设置高数计数

设置高数计数指令用于设置高数计数的计数值。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,将计数值写入高数计数。
PortUSINT输入高速计数端口。
CountUDINT输入计数值。

Hsc_GetCount:读取高数计数

读取高数计数指令用于读取高数计数的计数值。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,读取高数计数的计数值。
PortUSINT输入高速计数端口。
CountUDINT输出计数值。

Hsc_EnComp:使能比较器

使能比较器指令用于使能/关闭高数计数的比较器。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,使能/关闭高数计数的比较器。
PortUSINT输入高速计数端口。
EnableBIT输入0:关闭比较器;1:使能比较器。
CompIdUSINT输入比较器的ID,每个高速计数器有若干个比较器,由硬件配置决定。
CountUDINT输入比较器的计数值,当高速计数器计数值等于此值时,比较匹配。

Hsc_SetCompOp:设置比较器

设置比较器指令用于设置发生比较匹配时,比较器的动作。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,设置发生比较匹配时,比较器的动作。
PortUSINT输入高速计数端口。
CompIdUSINT输入比较器的ID,每个高速计数器有若干个比较器,由硬件配置决定。
OpIdUSINT输入操作器的ID,每个比较器有4个操作器,因此范围是:0 - 3。
Op USINT 输入 比较器的动作:
  • [0] CompareOperation_Null:无动作。
  • [1] CompareOperation_SetPin:置位一个管脚。
  • [2] CompareOperation_ResetPin:复位一个管脚。
PinBIT输出一个位于Q区间的位变量,高速计数发生比较匹配时,操作器将置位/复位此变量绑定的管脚。

Hsc_EnTrig:使能触发器

使能触发器指令用于使能/关闭外部中断触发器。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,使能/关闭外部中断触发器。
TriggerUSINT输入外部中断触发器端口。
EnableBIT输入0:关闭触发器;1:使能触发器。

Hsc_SetCompOp:设置触发器

设置触发器指令用于设置发生外部中断时,触发器的动作。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,设置发生外部中断时,触发器的动作。
TriggerUSINT输入外部中断触发器端口。
OpIdUSINT输入操作器的ID,每个触发器有4个操作器,因此范围是:0 - 3。
Op USINT 输入 触发器的动作:
  • [0] TriggerOperation_Null:无动作。
  • [1] TriggerOperation_CaptureCount:捕获对应高速计数器的计数值。
  • [2] TriggerOperation_SetCount:设置高速计数器的计数值。
  • [3] TriggerOperation_SetDirectionUp:修改计数方向为向上计数。
  • [4] TriggerOperation_SetDirectionDown:修改计数方向为向下计数。
CountUDINT输入设置高速计数器的计数值。

Hsc_GetTrigCnt:读取触发器捕获值

读取触发器捕获值指令用于读取触发器捕获的对应高速计数器的计数值。

参数名称数据类型读写方向说明
EN能流输入当EN使能时,读取触发器捕获的对应高速计数器的计数值。
TriggerUSINT输入外部中断触发器端口。
OpIdUSINT输入操作器的ID,每个触发器有4个操作器,因此范围是:0 - 3。
CapIdUSINT输入捕获器的ID,范围是:0 - 3,代表由近到远依次捕获的4个计数值。
CountUDINT输出捕获的计数值。