|
V2.09固件将支持几个Lua API函数 m_init() m_read() ,方便访问外部ADC模块。
后期将扩充更多的模块,无需再写驱动代码。
目前已支持 ADS1256, DS18B20, MCP3421
MCP3421 模块访问范例:
local gain = 0 --0=X1 1=X2 2=X4 3=X8
local drate = 3 --0=240sp(12bit) 1=60sps(14bit) 2=15sps(16bit) 3=3.75sps(18bit)
m_init("MCP3421", gain, drate)
delayms(200)
adc = m_read("MCP3421") --读ADC数据
print(adc)
MCP3421接线图:
/* TVCC = 5.0V
MCP4018 H7-TOOL
5.0 --- +5V
GND --- GND
VDD --- TVCC
D9 --- SCL
D7 --- SDA
*/
ADS1256 模块访问范例:
local gain = 0 --增益 (0=X1, 1=X2, 2=X4, 3=X8, 4=X16, 5=X32, 6=X64)
local drate = 7 --数据率 (0=30000,1=15000,2=7500,3=3750,4=2000,5=1000,6=500,7=100=,8=60,9=50,10=30,11=25,12=15,13=10,14=5,15=2.5sps)
local buffen = 1 --输入buffer使能
local diffmode = 0 --差分模式
local scantable = "01234567" --扫描次序, 可只扫描需要的通道
m_init("ADS1256", gain, drate, buffen, diffmode, scantable)
delayms(200)
adc = {m_read("ADS1256")}
print(adc[1],adc[2]) --读ADC数据
m_uninit("ADS1256") --退出ADC1256扫描程序
ADS1256接线图:
/*
ADS1256模块 H7-TOOL (TVCC = 3.3V)
+5V <------ 5.0V 5V供电
GND ------- GND 地
CS <------ D0 SPI_CS PI0
DRDY ------> D1 准备就绪 (用到外部中断) PH10 --所有的IO电平固定是3.3V
DIN <------ D2 SPI_MOSI PE6
DOUT ------> D3 SPI_MISO PE5
SCLK <------ D5 SPI时钟 PE2
GND ------- GND 地
PDWN (模块有上拉,可不接线)
RST (模块有上拉,可不接线)
NC 空脚
NC 空脚
*/
|
|