| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- --加载AirGPIO_1000驱动文件
- local air_gpio = require "AirGPIO_1000"
- --AirGPIO_1000扩展GPIO输出测试
- --P00每隔一秒切换输出一次高低电平,可以通过示波器或者万用表测量AirGPIO_1000上P00引脚电平
- local function gpio_output_task_func()
- air_gpio.setup(0x00, 0)
- while true do
- air_gpio.set(0x00, 0)
- sys.wait(1000)
- air_gpio.set(0x00, 1)
- sys.wait(1000)
- end
- end
- --AirGPIO_1000扩展GPIO输入测试
- --P10配置为输出模式,每隔一秒切换输出一次高低电平
- --P11配置为输入模式,每隔一秒调用get接口读取一次输入的电平
- --将P10和P11两个引脚短接
- local function gpio_input_task_func()
- air_gpio.setup(0x10, 0)
- air_gpio.setup(0x11)
- while true do
- air_gpio.set(0x10, 0)
- sys.wait(1000)
- log.info("air_gpio.get(0x11)", air_gpio.get(0x11))
- air_gpio.set(0x10, 1)
- sys.wait(1000)
- log.info("air_gpio.get(0x11)", air_gpio.get(0x11))
- end
- end
- --P04引脚中断处理函数
- --id:0x04
- --level:触发中断后,某一时刻,扩展GPIO输入的电平状态,高电平为1, 低电平为0
- local function P04_int_cbfunc(id, level)
- log.info("P04_int_cbfunc", id, level)
- end
- --P14引脚中断处理函数
- --id:0x14
- --level:触发中断后,某一时刻,扩展GPIO输入的电平状态,高电平为1, 低电平为0
- local function P14_int_cbfunc(id, level)
- log.info("P14_int_cbfunc", id, level)
- end
- --AirGPIO_1000扩展GPIO中断测试
- --P03配置为输出模式,每隔一秒切换输出一次高低电平
- --P04配置为中断模式,并且配置中断处理函数P04_int_cbfunc
- --将P03和P04两个引脚短接
- --P13配置为输出模式,每隔一秒切换输出一次高低电平
- --P14配置为中断模式,并且配置中断处理函数P14_int_cbfunc
- --将P13和P14两个引脚短接
- local function gpio_int_task_func()
- air_gpio.setup(0x03, 0)
- air_gpio.setup(0x04, P04_int_cbfunc)
- air_gpio.setup(0x13, 0)
- air_gpio.setup(0x14, P14_int_cbfunc)
- while true do
- air_gpio.set(0x03, 0)
- air_gpio.set(0x13, 0)
- sys.wait(1000)
- air_gpio.set(0x03, 1)
- air_gpio.set(0x13, 1)
- sys.wait(1000)
- end
- end
- --初始化Air8000和AirGPIO_1000之间的通信参数
- --使用Air8101的I2C0
- --使用Air8101的GPIO2做为中断引脚
- --Air8101核心板和AirGPIO_1000配件板的接线方式如下
- --Air8101核心板 AirGPIO_1000配件板
- --VDD_EXT(3.3V)-----------------3V3
- -- GND-----------------GND
- -- I2C1_SDA-----------------SDA
- -- I2C1_SCL-----------------SCL
- -- GPIO2-----------------INT
- air_gpio.init(1, 2)
- --AirGPIO_1000的GPIO输出测试
- sys.taskInit(gpio_output_task_func)
- --AirGPIO_1000的GPIO输入测试
- sys.taskInit(gpio_input_task_func)
- --AirGPIO_1000的GPIO中断测试
- sys.taskInit(gpio_int_task_func)
|