第三代测试机编程手册  1.0
载入中...
搜索中...
未找到
TIOModule.h 文件参考

TIO的输入和输出功能,频率测量功能操作接口 更多...

函数

void TIO_Reset (void)
 TIO复位,复位后状态如下
 
void TIO_Disable (void)
 关闭所有TIO. 通过将所有的数字和模拟开关断开实现.
 
void TIO_DisablePin (uint8_t pin)
 单独关闭指定的TIO.
 
void TIO_DisableToPMU (void)
 只断开所有引脚和PMU的连接(即断开所有TIO引脚的模拟功能)
 
void TIO_OnlyEnIO (uint8_t pin)
 使能 pin 的数字IO功能,断开和PMU的链接(即关闭模拟功能) 该函数内置500us延时!
 
void TIO_OnlyToPMU (uint8_t pin)
 断开 pin 的数字IO功能.使能PMU连接(即使能模拟功能). 同时只能有一个pin使能PMU功能. 当重复调用该函数时,只有最后一次设置的pin脚模拟功能使能.其他pin脚的模拟功能自动关闭. 该函数内置500us延时
 
void TIO_EnIOAndToPMU (uint8_t pin)
 同时使能 pin 的数字功能和模拟功能.使用此功能有损坏 TIO 数字功能的可能性.非特殊情况禁止使用 TIO支持0~5v电压,20ma左右的电流.
 
void TIOPort_SetCompareVol (uint8_t port, float cmpL_mv, float cmpH_mv)
 设置TIO端口的输入比较电压. 设置输出比较电压时, 是将TIO的32个引脚分为4组端口. 每个端口设置8个引脚的输入比较电压
 
void TIOPort_SetOutLevel (uint8_t port, float level)
 设置端口的高电平输出电压
 
void TIO_AsOutputMode (uint8_t pin, uint8_t output)
 设置TIO为输出模式,并且指定输出状态
 
void TIO_AsInputMode (uint8_t pin)
 设置TIO为输入模式
 
void TIO_IODriver (uint8_t pin, uint8_t mode, uint8_t output)
 设置TIO输入输出模式,并指定输出状态,输入模式时状态任意
 
uint8_t TIO_ReadInputValue (uint8_t pin)
 读取 pin 脚输入电平
 
void TIO_LockIoFunction (uint8_t pin)
 锁定 pin 脚. 向量系统无法操作锁定后的 pin 脚. 不用于跑向量的引脚需要锁定.跑了向量之后要用于其他操作的引脚需要锁定. 系统开机会锁定所有引脚.
 
void TIO_UnlockIoFunction (uint8_t pin)
 解锁 pin 脚.用于跑向量的引脚需要解锁.否则无法跑向量.
 
void TIOFreq_CHConfig (uint8_t pin, uint8_t freq_ch)
 测频率通道配置
 
float TIOFreq_ReadPeriod (uint8_t freq_ch, uint32_t timeout_us, uint8_t unit, uint8_t *error)
 读取 freq_ch 中测量的频率值.该函数回进入阻塞状态.直到读取到测量结果,或者超过 timeout
 
void TIO_ClkSetDiv (uint8_t div)
 设置使用TIO持续输出clk信号时的分频值
 
void TIO_ClkEnable (uint8_t ch)
 设置启用那个TIO引脚的时钟输出,可设置多个TIO_CH. 设置为时钟输出的引脚,将不能用于普通的TIO输入输出功能,或者向量功能. 可使用 TIO_ClkDisable 取消作为时钟输出的功能. 该功能具有最高优先级, 如果不取消无法用于其他功能,
 
void TIO_ClkDisable (uint8_t ch)
 关闭TIO_CH作为时钟输出的功能
 

详细描述

TIO的输入和输出功能,频率测量功能操作接口

版本
0.1
日期
2023-08-16
作者
fyuan (20879.nosp@m.3439.nosp@m.@qq.c.nosp@m.om)

函数说明

◆ TIO_Reset()

void TIO_Reset ( void  )

TIO复位,复位后状态如下

  1. 输入比较电压 CMPL = 5*0.25V CMPH=5*0.75V
  2. 输出电平 5V
  3. TIO所有PIN为输出模式,输出低电平
  4. 禁用所有TIO端口的数字和模拟能力,即浮空
  5. 锁定所有IO(锁定了的IO不能用于跑向量)

◆ TIO_DisablePin()

void TIO_DisablePin ( uint8_t  pin)

单独关闭指定的TIO.

参数
pin要操作的pin
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin

◆ TIO_OnlyEnIO()

void TIO_OnlyEnIO ( uint8_t  pin)

使能 pin 的数字IO功能,断开和PMU的链接(即关闭模拟功能) 该函数内置500us延时!

参数
pin要操作的pin
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
示例
example_tio.c.

◆ TIO_OnlyToPMU()

void TIO_OnlyToPMU ( uint8_t  pin)

断开 pin 的数字IO功能.使能PMU连接(即使能模拟功能). 同时只能有一个pin使能PMU功能. 当重复调用该函数时,只有最后一次设置的pin脚模拟功能使能.其他pin脚的模拟功能自动关闭. 该函数内置500us延时

参数
pin要操作的pin
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
注解
注意:该函数使用 TIO_PINALL 无效.
示例
example_tio.c.

◆ TIO_EnIOAndToPMU()

void TIO_EnIOAndToPMU ( uint8_t  pin)

同时使能 pin 的数字功能和模拟功能.使用此功能有损坏 TIO 数字功能的可能性.非特殊情况禁止使用 TIO支持0~5v电压,20ma左右的电流.

参数
pin要操作的pin
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin

◆ TIOPort_SetCompareVol()

void TIOPort_SetCompareVol ( uint8_t  port,
float  cmpL_mv,
float  cmpH_mv 
)

设置TIO端口的输入比较电压. 设置输出比较电压时, 是将TIO的32个引脚分为4组端口. 每个端口设置8个引脚的输入比较电压

参数
port要操作的端口.32个pin分为 ABCD四组端口
  • TIO_POARTA = 端口A, 对应引脚0~7
  • TIO_POARTB = 端口B, 对应引脚8~15
  • TIO_POARTC = 端口C, 对应引脚16~23
  • TIO_POARTD = 端口D, 对应引脚24~31
cmpL_mv低阈值电压
  • 0mv <= cmpl_mv <= cmpH_mv
cmpH_mv高阈值电压
  • cmpL_mv <= cmph_mv <= 5000mv
示例
example_tio.c.

◆ TIOPort_SetOutLevel()

void TIOPort_SetOutLevel ( uint8_t  port,
float  level 
)

设置端口的高电平输出电压

参数
port要操作的端口
  • TIO_POARTA = 端口A, 对应引脚0~7
  • TIO_POARTB = 端口B, 对应引脚8~15
  • TIO_POARTC = 端口C, 对应引脚16~23
  • TIO_POARTD = 端口D, 对应引脚24~31
level高电平输出电压(高电平最低建议为2v)
  • 2000mv <= level <= 5000mv
示例
example_tio.c.

◆ TIO_AsOutputMode()

void TIO_AsOutputMode ( uint8_t  pin,
uint8_t  output 
)

设置TIO为输出模式,并且指定输出状态

参数
pin要操作的引脚
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
output
  • TIO_OUT_H = 输出高电平
  • TIO_OUT_L = 输出低电平
示例
example_tio.c.

◆ TIO_AsInputMode()

void TIO_AsInputMode ( uint8_t  pin)

设置TIO为输入模式

参数
pin要操作的引脚
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
示例
example_tio.c.

◆ TIO_IODriver()

void TIO_IODriver ( uint8_t  pin,
uint8_t  mode,
uint8_t  output 
)

设置TIO输入输出模式,并指定输出状态,输入模式时状态任意

参数
pin要操作的引脚
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
mode输入输出模式
output
  • TIO_OUT_H = 输出高电平
  • TIO_OUT_L = 输出低电平
  • 作为输入模式时 : TIO_NONE,TIO_OUT_H,TIO_OUT_L都可以,不影响

◆ TIO_ReadInputValue()

uint8_t TIO_ReadInputValue ( uint8_t  pin)

读取 pin 脚输入电平

参数
pin要操作的引脚
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
返回
uint8_t 返回电平状态
  • TIO_IN_L : 当前输入状态为低电平
  • TIO_IN_H : 当前输入状态为高电平
  • TIO_IN_Z : 当前输入状态为低电平和高电平之间
  • TIO_IN_ERR : 输入异常,无法识别的电平状态
示例
example_tio.c.

◆ TIO_LockIoFunction()

void TIO_LockIoFunction ( uint8_t  pin)

锁定 pin 脚. 向量系统无法操作锁定后的 pin 脚. 不用于跑向量的引脚需要锁定.跑了向量之后要用于其他操作的引脚需要锁定. 系统开机会锁定所有引脚.

参数
pin要操作的引脚
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
示例
example_tio.c.

◆ TIO_UnlockIoFunction()

void TIO_UnlockIoFunction ( uint8_t  pin)

解锁 pin 脚.用于跑向量的引脚需要解锁.否则无法跑向量.

参数
pin要操作的引脚
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
示例
example_tio.c , 以及 example_vector.c.

◆ TIOFreq_CHConfig()

void TIOFreq_CHConfig ( uint8_t  pin,
uint8_t  freq_ch 
)

测频率通道配置

参数
pin频率测量对应的T通道
  • TIO_PIN0 ~ TIO_PIN31 : TIO引脚0 ~ TIO引脚31
  • TIO_PINALL : 所有pin
freq_ch测频率通道
  • FRE_CHx: 频率测量通道 x.可以映射到任意 tio_pin. 同一时间只能映射到一个tio_pin
  • x = 0,1,2,3,4,5,6,7
注解
该函数会自动将T通道方向切为输入
示例
example_tio.c.

◆ TIOFreq_ReadPeriod()

float TIOFreq_ReadPeriod ( uint8_t  freq_ch,
uint32_t  timeout_us,
uint8_t  unit,
uint8_t *  error 
)

读取 freq_ch 中测量的频率值.该函数回进入阻塞状态.直到读取到测量结果,或者超过 timeout

参数
freq_ch要操作的频率测量通道
  • FRE_CHx
  • x = 0,1,2,3,4,5,6,7
timeout超时时间.允许等待的最大时间. 单位us
unit单位, 以周期返回
  • TUNIT_NS: 纳秒 ns
  • TUNIT_US: 微秒 us
  • TUNIT_MS: 毫秒 ms
  • TUNIT_S: 秒 s
[out]error测试成功或失败
  • SYS_FALSE: 超时
  • SYS_TRUE: 成功
返回
float 测量结果
示例
example_tio.c.

◆ TIO_ClkSetDiv()

void TIO_ClkSetDiv ( uint8_t  div)

设置使用TIO持续输出clk信号时的分频值

  • 默认的时钟信号频率为 10MHz
  • 如果设置div = 5, 那么实际的时钟信号频率为 10MHz/5 = 2MHz
  • 时钟信号的占空比为固定的 50%, 高电平 = TIO端口电压, 低电平 = 0V
    参数
    div分频值
  • 范围 : 1~255
示例
example_tio.c.

◆ TIO_ClkEnable()

void TIO_ClkEnable ( uint8_t  ch)

设置启用那个TIO引脚的时钟输出,可设置多个TIO_CH. 设置为时钟输出的引脚,将不能用于普通的TIO输入输出功能,或者向量功能. 可使用 TIO_ClkDisable 取消作为时钟输出的功能. 该功能具有最高优先级, 如果不取消无法用于其他功能,

参数
ch通道号
  • 允许值: TIO_CH0 ~ TIO_CH31 / TIO_PINALL

示例

TIOPort_SetOutLevel(TIO_PORTA, 5000); //设置TIO_PORTA的输出电平为5V
TIO_OnlyEnIO(TIO_PIN0); //使能TIO_PIN0的数字功能,断开模拟功能
TIO_ClkSetDiv(5); //设置时钟输出的分频值为5
TIO_ClkEnable(TIO_CH0); //使能TIO_CH0作为时钟输出
...
TIO_ClkDisable(TIO_CH0); //取消TIO_CH0作为时钟输出
void TIO_ClkSetDiv(uint8_t div)
设置使用TIO持续输出clk信号时的分频值
void TIOPort_SetOutLevel(uint8_t port, float level)
设置端口的高电平输出电压
void TIO_OnlyEnIO(uint8_t pin)
使能 pin 的数字IO功能,断开和PMU的链接(即关闭模拟功能) 该函数内置500us延时!
void TIO_ClkEnable(uint8_t ch)
设置启用那个TIO引脚的时钟输出,可设置多个TIO_CH. 设置为时钟输出的引脚,将不能用于普通的TIO输入输出功能,或者向量功能. 可使用 TIO_ClkDisable 取消作为时钟输出的功能....
示例
example_tio.c.

◆ TIO_ClkDisable()

void TIO_ClkDisable ( uint8_t  ch)

关闭TIO_CH作为时钟输出的功能

参数
ch通道号
  • 允许值: TIO_CH0 ~ TIO_CH31 / TIO_PINALL
示例
example_tio.c.