复制DLOG工程改名为AHT20,进入.\OneOS-OneOS_For_OneNET\projects\STM32F407VE_AHT20\board\CubeMX_Config文件夹打开CubeMX_Config.ioc查看I2C引脚。
因为本次采用的是软件模拟I2C,所以STM32CubeMX可以不进行配置,只需确认AHT20连接引脚即可。
返回.\OneOS-OneOS_For_OneNET\projects\STM32F407VE_AHT20文件夹,打开OneOS_Cube输入oos config进行配置。
使用GPIO模拟I2C。
使能I2C引脚。
引脚数计算
即:
PB6——22
PB7——23
设置如下图,如需更换引脚对应计算即可。
配置Sensors
这里的soft_i2cx对应I2C配置中使能的I2C。(软件I2C,soft_不可丢弃)。
S 保存 Q 退出
oos init -i keil 重新生成工程
打开project.uvprojx
屏蔽main.c中LOG_D(TAG_A, "TAG_A DLOG_DEBUG")测试语句,如自行创建的项目可省略。
添加测试文件
找到目录.\OneOS-OneOS_For_OneNET\demos\driver文件中对应.c文件
编译下载至开发板,打开串口查看调试信息。
可以看到[2] I/sensor.sensirion.aht20: aht20:[soft_i2c1][0x38] [aht20_init][115]
AHT20成功初始化,但是其余无关调试信息较多,可以修改DLOG的全局输出级别。
改为Warning。
重新生成代码。
注:每次生成代码后需重新添加测试文件。
重新编译、下载。
输入help查看可用指令
输入sensor_humi_test aht20
输入sensor_temp_test aht20
实验完成