haas506开发教程-board.json
1.硬件图
2.硬件端口配置文件(board.json)详解
(1)board.json文件内容组成部分
配置项目 | 类型 | 是否必填 | 描述 |
---|---|---|---|
version | String | 否 | Iot轻应用版本号 |
io | Object | 是 | 硬件接口配置 |
debugLevel | String | 否 | 设置输出日志等级,默认ERROR |
repl | String | 否 | 开启/关闭repl口,默认使用TTL作为repl口 |
replPort | int | 否 | 配置repl口前需要开启repl口,0代表TTL,1代表RS232,2代表RS485,3代表USB |
(2)version
填入相应的版本号即可
(3)io
- io-gpio配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | GPIO | 描述该对象是GPIO类型 |
port | int | - | 配置端口值,端口值与硬件接口一一对应 |
dir | String | output | 配置引脚方向,output为gpio的输出模式 |
- | String | input | 配置引脚方向,input为gpio的输入模式 |
- | String | irq | 配置引脚方向, irq为gpio的中断模式 |
- | String | analog | 配置引脚方向,analog为模拟 IO 模式 |
pull | String | pullup | 配置引脚电阻,设置为上拉模式 |
- | String | pulldown | 配置引脚电阻,设置为下拉模式 |
- | String | opendrain | 配置引脚电阻,设置为开漏模式 |
intMode | String | rising | 配置引脚中断模式,设置为上升沿触发 |
- | String | falling | 配置引脚中断模式,设置为下降沿沿触发 |
- | String | both | 配置引脚中断模式,设置为边沿触发 |
- io-uart配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | UART | 描述该对象是UART类型 |
port | int | 0 | 配置串口类型,0是TTL |
- | int | 1 | 配置串口类型,1是RS232 |
- | int | 2 | 配置串口类型,2是RS485 |
dataWidth | int | 5/6/7/8 | 配置串口数据宽度值,默认8bits |
baudRate | int | 9600/115200等 | 配置串口波特率值,默认为115200 |
stopBits | int | 1 | 配置串口停止位,默认为 1 |
flowControl | String | disable | 配置流控,默认 disable |
parity | String | even | 配置奇偶校验, even是偶校验 |
- | String | odd | 配置奇偶校验, odd是奇校验 |
- | String | none | 配置奇偶校验, none是不校验 |
- io-adc配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | ADC | 描述该对象是ADC类型 |
port | int | 0 | 配置ADC端口,0是ADC0 |
- | int | 1 | 配置ADC端口,1是ADC1 |
sampling | long | 12000000 | 配置ADC采样率,默认为12000000 |
- io-i2c配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | I2C | 描述该对象是I2C类型 |
port | int | 1 | 配置I2C端口,默认为1 |
addrWidth | int | 7 | 配置 I2C 总线地址宽度,默认 7 |
freq | long | 100000 | 配置 I2C 总线频率,100000为低速 |
- | long | 400000 | 配置 I2C 总线频率,400000 为中速 |
- | long | 3400000 | 配置 I2C 总线频率,3400000为高速 |
mode | String | master/slave | 配置 I2C 总线主从模式,默认 master |
devAddr | int | self-defined | 配置 I2C 从设备地址,必须为10进制 |
- io-spi配置
属性字段 | 数据类型 | 属性值 | 描述 |
---|---|---|---|
type | String | SPI | 描述该对象是SPI类型 |
port | int | 0 | 配置SPI端口,默认为0 |
mode | String | master | 配置 SPI 总线主从模式,master为主机 |
- | String | slave | 配置 SPI 总线主从模式,slave为从机 |
freq | long | <100000000 | 配置 SPI 总线频率,默认 2000000 |
(4)debugLevel
等级 | 描述 |
---|---|
DEBUG | 指出细粒度信息事件对调试应用程序是非常有帮助的 |
INFO | 消息在粗粒度级别上突出强调应用程序的运行过程 |
WARN | 表明会出现潜在错误的情形 |
ERROR | 指出虽然发生错误事件,但仍然不影响系统的继续运行 |
FATAL | 指出每个严重的错误事件,将会导致应用程序的退出 |
(5)repl
{
...
#"repl":"disable" 默认使用ttl作为串口输出信息
"repl":"enable" #表示启用重定向功能,即可以指定使用哪个串口作为repl口。
"replPort":1 #表示使用RS232作为repl口进行交互式输入
}
repl重定向功能的好处:
- 可以指定使用哪个串口
- 所指定的那个串口,不需要 from driver import UART,然后再使用uart.write(“xxx”)写打印信息,可以直接用print(“xxx”)打印消息。
- 可以直接进行交互式编程
repl重定向功能的坏处:
- 使用重定向功能,会将某个类型的串口变为repl口,进行交互式输入和编程。同时,该类型的串口无法进行设备间的数据的收发。即不能使用uart.write(),uart.read()。
3.board.json模板
{
"name": "haas506",
"version": "1.0.0",
"io": {
"ADC0": {
"type": "ADC",
"port": 0,
"sampling": 12000000
},
"ADC1": {
"type": "ADC",
"port": 1,
"sampling": 12000000
},
"ADS1115": {
"type": "I2C",
"port": 1,
"addrWidth": 7,
"freq": 400000,
"mode": "master",
"devAddr": 72
},
"mpu6050": {
"type": "I2C",
"port": 1,
"addrWidth": 7,
"freq": 400000,
"mode": "master",
"devAddr": 104
},
"KEY1": {
"type": "GPIO",
"port": 44,
"dir": "irq",
"pull": "pullup",
"intMode": "rising"
},
"led1": {
"type": "GPIO",
"port": 0,
"dir": "output",
"pull": "pulldown"
},
"led2": {
"type": "GPIO",
"port": 7,
"dir": "output",
"pull": "pulldown"
},
"led3": {
"type": "GPIO",
"port": 9,
"dir": "output",
"pull": "pulldown"
},
"led4": {
"type": "GPIO",
"port": 6,
"dir": "output",
"pull": "pulldown"
},
"led5": {
"type": "GPIO",
"port": 8,
"dir": "output",
"pull": "pulldown"
},
"gpio31":{
"type":"GPIO",
"port": 31,
"dir": "input",
"pull":"pullup"
},
"SPI0": {
"type": "SPI",
"port": 0,
"mode": "master",
"freq": 2000000
},
"serial1":{
"type":"UART",
"port":0,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
},
"serial2":{
"type":"UART",
"port":1,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
},
"serial3":{
"type":"UART",
"port":2,
"dataWidth":8,
"baudRate":115200,
"stopBits":1,
"flowControl":"disable",
"parity":"none"
}
},
"debugLevel": "ERROR",
"repl":"enable",
"replPort":0
}