前言
shineblink core 开发板(简称Core)的库函数支持方波脉冲计数功能,所以只需要调用两三个API,即可实现对连续方波脉冲的计数功能。
PS:Core 仅用五、六行代码即可实现Wifi/Ble/NB/Lora/ThreadMesh/RFID/Eth/Usb/RS485/RS232通信、以及30多种传感器/10多种硬件外设/10多种Mcu内设功能,并且这些功能最多可以 5 种随机组合同时运行。更多关于Core的内容可以在 shineblink.com 上了解。
一、实现功能
Core提供一个引脚D4可以用来计脉冲个数
本章节实现的功能描述:外部向Core的D4引脚输入一个1Khz的方波。Core每隔1秒测一次该方波的下降沿个数,从而验证该方波的频率为1Khz。
二、接线图
三、完整代码
--初始化
function Init()
--设置0.96寸oled模块占用SCL1和SDA1引脚
LIB_0_96_OledConfig("IIC1")
--配置计量脉冲的D4引脚内部上拉,触发条件为下降沿,测量周期为1000ms
LIB_PulseCountMeasureConfig("PullUp","Fall",1000)
end
--初始化
Init()
--开始大循环
while(GC(1) == true)
do
--查询计数结果,该函数需要及时在测量周期内调用,不然会错过上1个测量周期的计数结果
finish_flag, data = LIB_PulseCountMeasureFinishCheck()
if finish_flag == 1 then
--通过oled屏幕展示结果
LIB_0_96_OledPuts("4","1",string.format("Freq= %dHz",data))
end
end
如果感兴趣,上面代码中出现的LIB开头的库函数可以在API文档中通过Ctrl+F查询。