调整代码位置+ADC初步(除PM2.5)

This commit is contained in:
dgjames 2025-03-14 22:18:48 +08:00
parent 75fc3f966e
commit 98ba68101c
27 changed files with 873 additions and 478 deletions

View File

@ -4,12 +4,379 @@
"name": "rt-thread",
"defines": [
"RT_USING_LIBC",
"RT_USING_NEWLIBC",
"STM32F407xx",
"USE_HAL_DRIVER",
"_POSIX_C_SOURCE=1",
"__RTTHREAD__",
"__perf_counter_printf__=rt_kprintf"
"__STDC_LIMIT_MACROS",
"__CLK_TCK=RT_TICK_PER_SECOND",
"STM32F407xx",
"RT_USING_ARMLIBC",
"__alignof__(x)=",
"__asm(x)=",
"__asm__(x)=",
"__forceinline=",
"__restrict=",
"__volatile__=",
"__inline=",
"__inline__=",
"__declspec(x)=",
"__attribute__(x)=",
"__nonnull__(x)=",
"__unaligned=",
"__promise(x)=",
"__irq=",
"__swi=",
"__weak=",
"__register=",
"__pure=",
"__value_in_regs=",
"__breakpoint(x)=",
"__current_pc()=0U",
"__current_sp()=0U",
"__disable_fiq()=",
"__disable_irq()=",
"__enable_fiq()=",
"__enable_irq()=",
"__force_stores()=",
"__memory_changed()=",
"__schedule_barrier()=",
"__semihost(x,y)=0",
"__vfp_status(x,y)=0",
"__builtin_arm_nop()=",
"__builtin_arm_wfi()=",
"__builtin_arm_wfe()=",
"__builtin_arm_sev()=",
"__builtin_arm_sevl()=",
"__builtin_arm_yield()=",
"__builtin_arm_isb(x)=",
"__builtin_arm_dsb(x)=",
"__builtin_arm_dmb(x)=",
"__builtin_bswap32(x)=0U",
"__builtin_bswap16(x)=0U",
"__builtin_arm_rbit(x)=0U",
"__builtin_clz(x)=0U",
"__builtin_arm_ldrex(x)=0U",
"__builtin_arm_strex(x,y)=0U",
"__builtin_arm_clrex()=",
"__builtin_arm_ssat(x,y)=0U",
"__builtin_arm_usat(x,y)=0U",
"__builtin_arm_ldaex(x)=0U",
"__builtin_arm_stlex(x,y)=0U",
"_ILP32=1",
"_USE_STATIC_INLINE=1",
"__APCS_32__=1",
"__ARMCC_VERSION=6070001",
"__ARMCOMPILER_VERSION=6070001",
"__ARMEL__=1",
"__ARM_32BIT_STATE=1",
"__ARM_ACLE=200",
"__ARM_ARCH=4",
"__ARM_ARCH_4T__=1",
"__ARM_ARCH_ISA_ARM=1",
"__ARM_ARCH_ISA_THUMB=1",
"__ARM_EABI__=1",
"__ARM_FP16_ARGS=1",
"__ARM_FP16_FORMAT_IEEE=1",
"__ARM_NO_IMAGINARY_TYPE=1",
"__ARM_PCS=1",
"__ARM_PROMISE=__builtin_assume",
"__ARM_SIZEOF_MINIMAL_ENUM=4",
"__ARM_SIZEOF_WCHAR_T=4",
"__ARM_TARGET_COPROC=1",
"__ARM_TARGET_COPROC_V4=1",
"__ATOMIC_ACQUIRE=2",
"__ATOMIC_ACQ_REL=4",
"__ATOMIC_CONSUME=1",
"__ATOMIC_RELAXED=0",
"__ATOMIC_RELEASE=3",
"__ATOMIC_SEQ_CST=5",
"__BIGGEST_ALIGNMENT__=8",
"__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
"__CHAR16_TYPE__=unsigned short",
"__CHAR32_TYPE__=unsigned int",
"__CHAR_BIT__=8",
"__CHAR_UNSIGNED__=1",
"__CONSTANT_CFSTRINGS__=1",
"__DBL_DECIMAL_DIG__=17",
"__DBL_DENORM_MIN__=4.9406564584124654e-324",
"__DBL_DIG__=15",
"__DBL_EPSILON__=2.2204460492503131e-16",
"__DBL_HAS_DENORM__=1",
"__DBL_HAS_INFINITY__=1",
"__DBL_HAS_QUIET_NAN__=1",
"__DBL_MANT_DIG__=53",
"__DBL_MAX_10_EXP__=308",
"__DBL_MAX_EXP__=1024",
"__DBL_MAX__=1.7976931348623157e+308",
"__DBL_MIN_10_EXP__=(-307)",
"__DBL_MIN_EXP__=(-1021)",
"__DBL_MIN__=2.2250738585072014e-308",
"__DECIMAL_DIG__=__LDBL_DECIMAL_DIG__",
"__ELF__=1",
"__ESCAPE__=",
"__FINITE_MATH_ONLY__=1",
"__FLT_DECIMAL_DIG__=9",
"__FLT_DENORM_MIN__=1.40129846e-45F",
"__FLT_DIG__=6",
"__FLT_EPSILON__=1.19209290e-7F",
"__FLT_EVAL_METHOD__=0",
"__FLT_HAS_DENORM__=1",
"__FLT_HAS_INFINITY__=1",
"__FLT_HAS_QUIET_NAN__=1",
"__FLT_MANT_DIG__=24",
"__FLT_MAX_10_EXP__=38",
"__FLT_MAX_EXP__=128",
"__FLT_MAX__=3.40282347e+38F",
"__FLT_MIN_10_EXP__=(-37)",
"__FLT_MIN_EXP__=(-125)",
"__FLT_MIN__=1.17549435e-38F",
"__FLT_RADIX__=2",
"__GCC_ATOMIC_BOOL_LOCK_FREE=1",
"__GCC_ATOMIC_CHAR16_T_LOCK_FREE=1",
"__GCC_ATOMIC_CHAR32_T_LOCK_FREE=1",
"__GCC_ATOMIC_CHAR_LOCK_FREE=1",
"__GCC_ATOMIC_INT_LOCK_FREE=1",
"__GCC_ATOMIC_LLONG_LOCK_FREE=1",
"__GCC_ATOMIC_LONG_LOCK_FREE=1",
"__GCC_ATOMIC_POINTER_LOCK_FREE=1",
"__GCC_ATOMIC_SHORT_LOCK_FREE=1",
"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
"__GCC_ATOMIC_WCHAR_T_LOCK_FREE=1",
"__GNUC_MINOR__=2",
"__GNUC_PATCHLEVEL__=1",
"__GNUC_STDC_INLINE__=1",
"__GNUC__=4",
"__GXX_ABI_VERSION=1002",
"__ILP32__=1",
"__INT16_C_SUFFIX__=",
"__INT16_FMTd__=\"hd\"",
"__INT16_FMTi__=\"hi\"",
"__INT16_MAX__=32767",
"__INT16_TYPE__=short",
"__INT32_C_SUFFIX__=",
"__INT32_FMTd__=\"d\"",
"__INT32_FMTi__=\"i\"",
"__INT32_MAX__=2147483647",
"__INT32_TYPE__=int",
"__INT64_C_SUFFIX__=LL",
"__INT64_FMTd__=\"lld\"",
"__INT64_FMTi__=\"lli\"",
"__INT64_MAX__=9223372036854775807LL",
"__INT64_TYPE__=long long int",
"__INT8_C_SUFFIX__=",
"__INT8_FMTd__=\"hhd\"",
"__INT8_FMTi__=\"hhi\"",
"__INT8_MAX__=127",
"__INT8_TYPE__=signed char",
"__INTMAX_C_SUFFIX__=LL",
"__INTMAX_FMTd__=\"lld\"",
"__INTMAX_FMTi__=\"lli\"",
"__INTMAX_MAX__=9223372036854775807LL",
"__INTMAX_TYPE__=long long int",
"__INTMAX_WIDTH__=64",
"__INTPTR_FMTd__=\"ld\"",
"__INTPTR_FMTi__=\"li\"",
"__INTPTR_MAX__=2147483647L",
"__INTPTR_TYPE__=long int",
"__INTPTR_WIDTH__=32",
"__INT_FAST16_FMTd__=\"hd\"",
"__INT_FAST16_FMTi__=\"hi\"",
"__INT_FAST16_MAX__=32767",
"__INT_FAST16_TYPE__=short",
"__INT_FAST32_FMTd__=\"d\"",
"__INT_FAST32_FMTi__=\"i\"",
"__INT_FAST32_MAX__=2147483647",
"__INT_FAST32_TYPE__=int",
"__INT_FAST64_FMTd__=\"lld\"",
"__INT_FAST64_FMTi__=\"lli\"",
"__INT_FAST64_MAX__=9223372036854775807LL",
"__INT_FAST64_TYPE__=long long int",
"__INT_FAST8_FMTd__=\"hhd\"",
"__INT_FAST8_FMTi__=\"hhi\"",
"__INT_FAST8_MAX__=127",
"__INT_FAST8_TYPE__=signed char",
"__INT_LEAST16_FMTd__=\"hd\"",
"__INT_LEAST16_FMTi__=\"hi\"",
"__INT_LEAST16_MAX__=32767",
"__INT_LEAST16_TYPE__=short",
"__INT_LEAST32_FMTd__=\"d\"",
"__INT_LEAST32_FMTi__=\"i\"",
"__INT_LEAST32_MAX__=2147483647",
"__INT_LEAST32_TYPE__=int",
"__INT_LEAST64_FMTd__=\"lld\"",
"__INT_LEAST64_FMTi__=\"lli\"",
"__INT_LEAST64_MAX__=9223372036854775807LL",
"__INT_LEAST64_TYPE__=long long int",
"__INT_LEAST8_FMTd__=\"hhd\"",
"__INT_LEAST8_FMTi__=\"hhi\"",
"__INT_LEAST8_MAX__=127",
"__INT_LEAST8_TYPE__=signed char",
"__INT_MAX__=2147483647",
"__I__=1.0if",
"__LDBL_DECIMAL_DIG__=17",
"__LDBL_DENORM_MIN__=4.9406564584124654e-324L",
"__LDBL_DIG__=15",
"__LDBL_EPSILON__=2.2204460492503131e-16L",
"__LDBL_HAS_DENORM__=1",
"__LDBL_HAS_INFINITY__=1",
"__LDBL_HAS_QUIET_NAN__=1",
"__LDBL_MANT_DIG__=53",
"__LDBL_MAX_10_EXP__=308",
"__LDBL_MAX_EXP__=1024",
"__LDBL_MAX__=1.7976931348623157e+308L",
"__LDBL_MIN_10_EXP__=(-307)",
"__LDBL_MIN_EXP__=(-1021)",
"__LDBL_MIN__=2.2250738585072014e-308L",
"__LITTLE_ENDIAN__=1",
"__LONG_LONG_MAX__=9223372036854775807LL",
"__LONG_MAX__=2147483647L",
"__NO_INLINE__=1",
"__OBJC_BOOL_IS_BOOL=0",
"__ORDER_BIG_ENDIAN__=4321",
"__ORDER_LITTLE_ENDIAN__=1234",
"__ORDER_PDP_ENDIAN__=3412",
"__POINTER_WIDTH__=32",
"__PRAGMA_REDEFINE_EXTNAME=1",
"__PTRDIFF_FMTd__=\"d\"",
"__PTRDIFF_FMTi__=\"i\"",
"__PTRDIFF_MAX__=2147483647",
"__PTRDIFF_TYPE__=int",
"__PTRDIFF_WIDTH__=32",
"__REGISTER_PREFIX__=",
"__SCHAR_MAX__=127",
"__SHRT_MAX__=32767",
"__SIG_ATOMIC_MAX__=2147483647",
"__SIG_ATOMIC_WIDTH__=32",
"__SIZEOF_DOUBLE__=8",
"__SIZEOF_FLOAT__=4",
"__SIZEOF_INT__=4",
"__SIZEOF_LONG_DOUBLE__=8",
"__SIZEOF_LONG_LONG__=8",
"__SIZEOF_LONG__=4",
"__SIZEOF_POINTER__=4",
"__SIZEOF_PTRDIFF_T__=4",
"__SIZEOF_SHORT__=2",
"__SIZEOF_SIZE_T__=4",
"__SIZEOF_WCHAR_T__=4",
"__SIZEOF_WINT_T__=4",
"__SIZE_FMTX__=\"X\"",
"__SIZE_FMTo__=\"o\"",
"__SIZE_FMTu__=\"u\"",
"__SIZE_FMTx__=\"x\"",
"__SIZE_MAX__=4294967295U",
"__SIZE_TYPE__=unsigned int",
"__SIZE_WIDTH__=32",
"__STDC_HOSTED__=1",
"__STDC_UTF_16__=1",
"__STDC_UTF_32__=1",
"__STDC_VERSION__=201112L",
"__STDC__=1",
"__UINT16_C_SUFFIX__=",
"__UINT16_FMTX__=\"hX\"",
"__UINT16_FMTo__=\"ho\"",
"__UINT16_FMTu__=\"hu\"",
"__UINT16_FMTx__=\"hx\"",
"__UINT16_MAX__=65535",
"__UINT16_TYPE__=unsigned short",
"__UINT32_C_SUFFIX__=U",
"__UINT32_FMTX__=\"X\"",
"__UINT32_FMTo__=\"o\"",
"__UINT32_FMTu__=\"u\"",
"__UINT32_FMTx__=\"x\"",
"__UINT32_MAX__=4294967295U",
"__UINT32_TYPE__=unsigned int",
"__UINT64_C_SUFFIX__=ULL",
"__UINT64_FMTX__=\"llX\"",
"__UINT64_FMTo__=\"llo\"",
"__UINT64_FMTu__=\"llu\"",
"__UINT64_FMTx__=\"llx\"",
"__UINT64_MAX__=18446744073709551615ULL",
"__UINT64_TYPE__=long long unsigned int",
"__UINT8_C_SUFFIX__=",
"__UINT8_FMTX__=\"hhX\"",
"__UINT8_FMTo__=\"hho\"",
"__UINT8_FMTu__=\"hhu\"",
"__UINT8_FMTx__=\"hhx\"",
"__UINT8_MAX__=255",
"__UINT8_TYPE__=unsigned char",
"__UINTMAX_C_SUFFIX__=ULL",
"__UINTMAX_FMTX__=\"llX\"",
"__UINTMAX_FMTo__=\"llo\"",
"__UINTMAX_FMTu__=\"llu\"",
"__UINTMAX_FMTx__=\"llx\"",
"__UINTMAX_MAX__=18446744073709551615ULL",
"__UINTMAX_TYPE__=long long unsigned int",
"__UINTMAX_WIDTH__=64",
"__UINTPTR_FMTX__=\"lX\"",
"__UINTPTR_FMTo__=\"lo\"",
"__UINTPTR_FMTu__=\"lu\"",
"__UINTPTR_FMTx__=\"lx\"",
"__UINTPTR_MAX__=4294967295UL",
"__UINTPTR_TYPE__=long unsigned int",
"__UINTPTR_WIDTH__=32",
"__UINT_FAST16_FMTX__=\"hX\"",
"__UINT_FAST16_FMTo__=\"ho\"",
"__UINT_FAST16_FMTu__=\"hu\"",
"__UINT_FAST16_FMTx__=\"hx\"",
"__UINT_FAST16_MAX__=65535",
"__UINT_FAST16_TYPE__=unsigned short",
"__UINT_FAST32_FMTX__=\"X\"",
"__UINT_FAST32_FMTo__=\"o\"",
"__UINT_FAST32_FMTu__=\"u\"",
"__UINT_FAST32_FMTx__=\"x\"",
"__UINT_FAST32_MAX__=4294967295U",
"__UINT_FAST32_TYPE__=unsigned int",
"__UINT_FAST64_FMTX__=\"llX\"",
"__UINT_FAST64_FMTo__=\"llo\"",
"__UINT_FAST64_FMTu__=\"llu\"",
"__UINT_FAST64_FMTx__=\"llx\"",
"__UINT_FAST64_MAX__=18446744073709551615ULL",
"__UINT_FAST64_TYPE__=long long unsigned int",
"__UINT_FAST8_FMTX__=\"hhX\"",
"__UINT_FAST8_FMTo__=\"hho\"",
"__UINT_FAST8_FMTu__=\"hhu\"",
"__UINT_FAST8_FMTx__=\"hhx\"",
"__UINT_FAST8_MAX__=255",
"__UINT_FAST8_TYPE__=unsigned char",
"__UINT_LEAST16_FMTX__=\"hX\"",
"__UINT_LEAST16_FMTo__=\"ho\"",
"__UINT_LEAST16_FMTu__=\"hu\"",
"__UINT_LEAST16_FMTx__=\"hx\"",
"__UINT_LEAST16_MAX__=65535",
"__UINT_LEAST16_TYPE__=unsigned short",
"__UINT_LEAST32_FMTX__=\"X\"",
"__UINT_LEAST32_FMTo__=\"o\"",
"__UINT_LEAST32_FMTu__=\"u\"",
"__UINT_LEAST32_FMTx__=\"x\"",
"__UINT_LEAST32_MAX__=4294967295U",
"__UINT_LEAST32_TYPE__=unsigned int",
"__UINT_LEAST64_FMTX__=\"llX\"",
"__UINT_LEAST64_FMTo__=\"llo\"",
"__UINT_LEAST64_FMTu__=\"llu\"",
"__UINT_LEAST64_FMTx__=\"llx\"",
"__UINT_LEAST64_MAX__=18446744073709551615ULL",
"__UINT_LEAST64_TYPE__=long long unsigned int",
"__UINT_LEAST8_FMTX__=\"hhX\"",
"__UINT_LEAST8_FMTo__=\"hho\"",
"__UINT_LEAST8_FMTu__=\"hhu\"",
"__UINT_LEAST8_FMTx__=\"hhx\"",
"__UINT_LEAST8_MAX__=255",
"__UINT_LEAST8_TYPE__=unsigned char",
"__USER_LABEL_PREFIX__=",
"__VERSION__=\"4.2.1 Compatible Clang 5.0.0 \"",
"__WCHAR_MAX__=4294967295U",
"__WCHAR_TYPE__=unsigned int",
"__WCHAR_UNSIGNED__=1",
"__WCHAR_WIDTH__=32",
"__WINT_TYPE__=int",
"__WINT_WIDTH__=32",
"__arm=1",
"__arm__=1",
"__clang__=1",
"__clang_major__=5",
"__clang_minor__=0",
"__clang_patchlevel__=0",
"__clang_version__=\"5.0.0 \"",
"__llvm__=1"
],
"intelliSenseMode": "gcc-arm",
"compilerPath": "d:/DevTools/env2/tools/gnu_gcc/arm_gcc/mingw/bin/arm-none-eabi-gcc",
@ -19,81 +386,45 @@
"build/compile_commands.json"
],
"includePath": [
"packages\\aht10-latest\\inc",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\server",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_sign",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\wrappers",
"packages\\ap3216c-latest",
"applications",
"my_pro",
"rt-thread\\components\\net\\at\\include",
"packages\\cJSON-v1.7.17",
"rt-thread\\components\\libc\\compilers\\common\\include",
"rt-thread\\components\\libc\\compilers\\newlib",
"rt-thread\\components\\libc\\cplusplus",
"rt-thread\\components\\drivers\\include",
"rt-thread\\components\\drivers\\phy",
"rt-thread\\components\\drivers\\sdio\\sdhci\\include",
"rt-thread\\components\\drivers\\spi",
"rt-thread\\components\\drivers\\spi\\sfud\\inc",
"rt-thread\\components\\drivers\\wlan",
"board",
"board\\CubeMX_Config\\Inc",
"board\\ports",
"board\\ports\\fal",
"board\\ports\\lcd",
"board\\ports\\led_matrix",
"libraries\\HAL_Drivers\\drivers",
"libraries\\HAL_Drivers\\drivers\\config",
"libraries\\HAL_Drivers\\drivers\\drv_flash",
"libraries\\HAL_Drivers",
"libraries\\HAL_Drivers\\CMSIS\\Include",
"rt-thread\\components\\fal\\inc",
"rt-thread\\components\\dfs\\dfs_v1\\include",
"rt-thread\\components\\dfs\\dfs_v1\\filesystems\\devfs",
"rt-thread\\components\\dfs\\dfs_v1\\filesystems\\elmfat",
"rt-thread\\components\\dfs\\dfs_v1\\filesystems\\romfs",
"rt-thread\\components\\finsh",
"packages\\FlexibleButton-v1.0.0",
"packages\\icm20608-latest",
"packages\\infrared-v0.1.1\\inc",
".",
"rt-thread\\include",
"packages\\kernel_samples-latest\\en",
"rt-thread\\components\\legacy",
"rt-thread\\components\\legacy\\dfs",
"rt-thread\\libcpu\\arm\\common",
"rt-thread\\libcpu\\arm\\cortex-m4",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Inc",
"libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Include",
"rt-thread\\components\\net\\lwip\\lwip-2.0.3\\src\\include",
"rt-thread\\components\\net\\lwip\\lwip-2.0.3\\src\\include\\ipv4",
"rt-thread\\components\\net\\lwip\\lwip-2.0.3\\src\\include\\netif",
"rt-thread\\components\\net\\lwip\\port",
"packages\\netutils-latest\\ntp",
"packages\\perf_counter-v2.2.4.1",
"rt-thread\\components\\libc\\posix\\io\\epoll",
"rt-thread\\components\\libc\\posix\\io\\eventfd",
"rt-thread\\components\\libc\\posix\\io\\poll",
"rt-thread\\components\\libc\\posix\\ipc",
"board\\ports\\rs485",
"rt-thread\\components\\legacy\\usb\\usbdevice",
"packages\\rw007-v2.1.0",
"packages\\rw007-v2.1.0\\inc",
"rt-thread\\components\\net\\netdev\\include",
"rt-thread\\components\\net\\sal\\include",
"rt-thread\\components\\net\\sal\\include\\socket",
"rt-thread\\components\\net\\sal\\impl",
"rt-thread\\components\\net\\sal\\include\\dfs_net",
"rt-thread\\components\\net\\sal\\include\\socket\\sys_socket",
"rt-thread\\components\\drivers\\smp_call",
"rt-thread\\components\\utilities\\ulog",
"packages\\vconsole-latest"
"d:\\components\\drivers\\include",
"d:\\Develop\\libraries\\HAL_Drivers\\drivers\\config",
"d:\\Develop\\libraries\\HAL_Drivers\\drivers",
"d:\\components\\libc\\posix\\io\\eventfd",
"d:\\Develop\\SumProject\\board",
"d:\\Develop\\SumProject\\board\\CubeMX_Config\\Inc",
"d:\\libcpu\\arm\\common",
"d:\\components\\libc\\posix\\ipc",
"d:\\Develop\\libraries\\HAL_Drivers\\CMSIS\\Include",
"d:\\Develop\\SumProject\\board\\ports",
"d:\\Develop\\libraries\\HAL_Drivers",
"d:\\components\\libc\\compilers\\common\\include",
"d:\\libcpu\\arm\\cortex-m4",
"d:\\components\\libc\\posix\\io\\poll",
"d:\\Develop\\SumProject",
"d:\\components\\libc\\posix\\io\\epoll",
"d:\\components\\finsh",
"d:\\Develop\\libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Include",
"d:\\Develop\\libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Inc",
"d:\\components\\libc\\compilers\\common\\extension",
"d:\\components\\libc\\compilers\\common\\extension\\fcntl\\octal",
"d:\\Develop\\SumProject\\applications",
"d:\\include",
"D:\\Keil5\\ARM\\ARMCLANG\\include",
"D:\\Keil5\\ARM\\ARMCLANG\\include\\libcxx",
"d:\\components\\libc\\compilers\\armlibc",
"d:\\components\\libc\\compilers\\common",
"d:\\components\\drivers\\core",
"d:\\components\\drivers\\i2c",
"d:\\components\\drivers\\ipc",
"d:\\components\\drivers\\misc",
"d:\\components\\drivers\\pin",
"d:\\components\\drivers\\serial",
"d:\\Develop\\libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Source\\Templates\\arm",
"d:\\Develop\\SumProject\\board\\CubeMX_Config\\Src",
"d:\\src",
"d:\\src\\klibc",
"d:\\Develop\\libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src",
"d:\\Develop\\libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Source\\Templates"
]
}
],

184
.vscode/project.json vendored
View File

@ -13,46 +13,46 @@
"name": "ali-iotkit",
"path": "packages\\ali-iotkit-v3.0.2",
"files": [
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_message.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTConnectClient.c",
"packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_OS_rtthread.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_net.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_string.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_msg_process.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTUnsubscribeClient.c",
"packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_UDP_rtthread.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\iotx_mqtt_client.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_cota.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client_adapter.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ipc.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ota.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_log_report.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_cjson.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTPacket.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_api.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_fota.c",
"packages\\ali-iotkit-v3.0.2\\ports\\wrapper.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_timer.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_defs.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_sign\\dev_sign_mqtt.c",
"packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_TCP_rtthread.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSubscribeClient.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_prt_nwk_payload.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm_mqtt.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_utils.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTDeserializePublish.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_log.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSerializePublish.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_sha256.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_report.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\impl_linkkit.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_manager.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_message_cache.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_opt.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_compat.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\mqtt_api.c",
"packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_UDP_rtthread.c",
"packages\\ali-iotkit-v3.0.2\\ports\\wrapper.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTDeserializePublish.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTUnsubscribeClient.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client_adapter.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\iotx_mqtt_client.c",
"packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_TCP_rtthread.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSerializePublish.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_prt_nwk_payload.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_utils.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_api.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\iotx_cm_mqtt.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_manager.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_cjson.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_cota.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_report.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\impl_linkkit.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\client\\dm_client.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_compat.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_string.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ota.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_sign\\dev_sign_mqtt.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_net.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_opt.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_fota.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_defs.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_ipc.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_timer.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_msg_process.c",
"packages\\ali-iotkit-v3.0.2\\ports\\rtthread\\HAL_OS_rtthread.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTConnectClient.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_message_cache.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_message.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTSubscribeClient.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_sha256.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\mqtt\\impl\\MQTTPacket.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\infra\\infra_log.c",
"packages\\ali-iotkit-v3.0.2\\iotkit-embedded\\src\\dev_model\\dm_log_report.c",
"packages\\ali-iotkit-v3.0.2\\SConscript"
]
},
@ -91,9 +91,9 @@
"name": "AT",
"path": "rt-thread\\components\\net\\at",
"files": [
"rt-thread\\components\\net\\at\\src\\at_client.c",
"rt-thread\\components\\net\\at\\src\\at_utils.c",
"rt-thread\\components\\net\\at\\src\\at_cli.c",
"rt-thread\\components\\net\\at\\src\\at_client.c",
"rt-thread\\components\\net\\at\\SConscript"
]
},
@ -101,8 +101,8 @@
"name": "cJSON",
"path": "packages\\cJSON-v1.7.17",
"files": [
"packages\\cJSON-v1.7.17\\cJSON.c",
"packages\\cJSON-v1.7.17\\cJSON_Utils.c",
"packages\\cJSON-v1.7.17\\cJSON.c",
"packages\\cJSON-v1.7.17\\SConscript"
]
},
@ -213,10 +213,10 @@
"path": "rt-thread\\components\\fal",
"files": [
"rt-thread\\components\\fal\\src\\fal.c",
"rt-thread\\components\\fal\\src\\fal_partition.c",
"rt-thread\\components\\fal\\src\\fal_rtt.c",
"rt-thread\\components\\fal\\src\\fal_flash.c",
"rt-thread\\components\\fal\\samples\\porting\\fal_flash_sfud_port.c",
"rt-thread\\components\\fal\\src\\fal_partition.c",
"rt-thread\\components\\fal\\src\\fal_rtt.c",
"rt-thread\\components\\fal\\SConscript"
]
},
@ -240,11 +240,11 @@
"name": "Finsh",
"path": "rt-thread\\components\\finsh",
"files": [
"rt-thread\\components\\finsh\\msh.c",
"rt-thread\\components\\finsh\\shell.c",
"rt-thread\\components\\finsh\\cmd.c",
"rt-thread\\components\\finsh\\msh_file.c",
"rt-thread\\components\\finsh\\shell.c",
"rt-thread\\components\\finsh\\msh.c",
"rt-thread\\components\\finsh\\msh_parse.c",
"rt-thread\\components\\finsh\\cmd.c",
"rt-thread\\components\\finsh\\SConscript"
]
},
@ -268,9 +268,9 @@
"name": "Infrared_frame",
"path": "packages\\infrared-v0.1.1",
"files": [
"packages\\infrared-v0.1.1\\src\\drv_infrared.c",
"packages\\infrared-v0.1.1\\src\\nec_decoder.c",
"packages\\infrared-v0.1.1\\src\\infrared.c",
"packages\\infrared-v0.1.1\\src\\drv_infrared.c",
"packages\\infrared-v0.1.1\\SConscript"
]
},
@ -300,12 +300,12 @@
"name": "kernel-samples",
"path": "packages\\kernel_samples-latest\\en",
"files": [
"packages\\kernel_samples-latest\\en\\mailbox_sample.c",
"packages\\kernel_samples-latest\\en\\semaphore_sample.c",
"packages\\kernel_samples-latest\\en\\thread_sample.c",
"packages\\kernel_samples-latest\\en\\mutex_sample.c",
"packages\\kernel_samples-latest\\en\\msgq_sample.c",
"packages\\kernel_samples-latest\\en\\event_sample.c",
"packages\\kernel_samples-latest\\en\\mailbox_sample.c",
"packages\\kernel_samples-latest\\en\\msgq_sample.c",
"packages\\kernel_samples-latest\\en\\semaphore_sample.c",
"packages\\kernel_samples-latest\\en\\mutex_sample.c",
"packages\\kernel_samples-latest\\en\\SConscript"
]
},
@ -313,11 +313,11 @@
"name": "klibc",
"path": "rt-thread\\src\\klibc",
"files": [
"rt-thread\\src\\klibc\\rt_vsnprintf_std.c",
"rt-thread\\src\\klibc\\kstdio.c",
"rt-thread\\src\\klibc\\kstring.c",
"rt-thread\\src\\klibc\\rt_vsscanf.c",
"rt-thread\\src\\klibc\\kerrno.c",
"rt-thread\\src\\klibc\\kstring.c",
"rt-thread\\src\\klibc\\rt_vsnprintf_std.c",
"rt-thread\\src\\klibc\\SConscript"
]
},
@ -345,47 +345,47 @@
"name": "Libraries",
"path": "libraries\\STM32F4xx_HAL",
"files": [
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cortex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_usb.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_crc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash_ramfunc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cryp_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_gpio.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_hcd.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sram.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_tim.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cec.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_fsmc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_lptim.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rng.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pccard.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_spi.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_fmc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pwr_ex.c",
"libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Source\\Templates\\system_stm32f4xx.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_sdmmc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rcc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_uart.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rcc_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_usart.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sd.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_qspi.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc_ex.c",
"libraries\\STM32F4xx_HAL\\CMSIS\\Device\\ST\\STM32F4xx\\Source\\Templates\\system_stm32f4xx.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_gpio.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_spi.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_crc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_tim.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pwr.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rng.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cortex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rcc_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_rtc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cryp_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_dma.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_qspi.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cec.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_usb.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_lptim.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_uart.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_tim_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sram.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_i2c_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_adc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_fmc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pwr_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_cryp.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_sd.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_ll_fsmc.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_pcd_ex.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_hcd.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_usart.c",
"libraries\\STM32F4xx_HAL\\STM32F4xx_HAL_Driver\\Src\\stm32f4xx_hal_flash_ramfunc.c",
"libraries\\STM32F4xx_HAL\\SConscript"
]
},
@ -445,8 +445,8 @@
"name": "perf_counter",
"path": "packages\\perf_counter-v2.2.4.1",
"files": [
"packages\\perf_counter-v2.2.4.1\\os\\perf_os_patch_rt_thread.c",
"packages\\perf_counter-v2.2.4.1\\perf_counter.c",
"packages\\perf_counter-v2.2.4.1\\os\\perf_os_patch_rt_thread.c",
"packages\\perf_counter-v2.2.4.1\\SConscript"
]
},
@ -472,8 +472,8 @@
"path": "rt-thread\\components\\legacy\\usb\\usbdevice",
"files": [
"rt-thread\\components\\legacy\\usb\\usbdevice\\class\\cdc_vcom.c",
"rt-thread\\components\\legacy\\usb\\usbdevice\\core\\usbdevice.c",
"rt-thread\\components\\legacy\\usb\\usbdevice\\core\\usbdevice_core.c",
"rt-thread\\components\\legacy\\usb\\usbdevice\\core\\usbdevice.c",
"rt-thread\\components\\legacy\\usb\\usbdevice\\SConscript"
]
},
@ -481,8 +481,8 @@
"name": "rw007",
"path": "packages\\rw007-v2.1.0",
"files": [
"packages\\rw007-v2.1.0\\src\\spi_wifi_rw007.c",
"packages\\rw007-v2.1.0\\example\\rw007_stm32_port.c",
"packages\\rw007-v2.1.0\\src\\spi_wifi_rw007.c",
"packages\\rw007-v2.1.0\\SConscript"
]
},
@ -504,8 +504,8 @@
"name": "Utilities",
"path": "rt-thread\\components\\utilities\\ulog",
"files": [
"rt-thread\\components\\utilities\\ulog\\backend\\console_be.c",
"rt-thread\\components\\utilities\\ulog\\ulog.c",
"rt-thread\\components\\utilities\\ulog\\backend\\console_be.c",
"rt-thread\\components\\utilities\\ulog\\SConscript"
]
},

View File

@ -30,7 +30,10 @@
"drv_matrix_led.h": "c",
"init.h": "c",
"string.h": "c",
"at.h": "c"
"at.h": "c",
"ADC.C": "cpp",
"PM2.5.C": "cpp",
"sensor.h": "c"
},
// "cortex-debug.openocdPath": "d:/Develop/"
}

57
applications/PM2.5.C Normal file
View File

@ -0,0 +1,57 @@
// #include <rtthread.h>
// #include <rtdevice.h>
// #include "math.h"
// #include <board.h>
// #include <drv_gpio.h>
// #ifndef RT_USING_NANO
// #endif /* RT_USING_NANO */
// #define PM25_READ_TIMES 20
// #define GPIO_PIN GET_PIN(G, 5)
// extern float ADC_Read();
// extern float ADC1_Read();
// float PM25_GetData(void)
// {
// int ADCVal;
// int dustVal = 0;
// float Voltage;
// rt_pin_write(GPIO_PIN, PIN_HIGH);//置1 开启内部LED
// rt_hw_us_delay(280);
// ADCVal = ADC1_Read();
// rt_hw_us_delay(25);
// rt_pin_write(GPIO_PIN, PIN_LOW); //置0 关闭内部LED
// rt_hw_us_delay(9680); //需要脉宽比0.32ms/10ms的PWM信号驱动传感器中的LED
// Voltage = 3.3f * ADCVal / 4096.f * 2; //获得AO输出口的电压值
// dustVal = (0.17*Voltage-0.1)*1000; //乘以1000单位换成ug/m3//
// if (dustVal < 0)
// dustVal = 0; //限位//
// if (dustVal>500)
// dustVal=500;
// return dustVal;
// }
// /**
// * @brief 平均值滤波法
// * @param 无
// * @retval 返回滤波后的数据
// */
// float Get_PM25_Average_Data(void)
// {
// float temp_val=0;
// float t;
// for(t=0;t<PM25_READ_TIMES;t++) //#define PM25_READ_TIMES 20 定义读取次数,读这么多次,然后取平均值
// {
// temp_val+=PM25_GetData(); //读取ADC值
// rt_thread_mdelay(5);
// }
// temp_val/=PM25_READ_TIMES;//得到平均值
// return temp_val;//返回算出的ADC平均值
// }

View File

@ -1,4 +1,5 @@
#include "sim.h"
#include "sensor.h"
#include <rtthread.h>
#include <rthw.h>
#include <dev_wlan_mgnt.h>
@ -6,6 +7,7 @@
#include <dev_wlan_prot.h>
#include <ap3216c.h>
#include "my_func.h"
#include "indicator_led.h"
static int board_init(void)
{
@ -48,18 +50,41 @@ static int app_init(void)
}
INIT_APP_EXPORT(app_init);
// extern int wifi_join(int argc, char *argv[]);
extern int aiv_init(void);
extern int mot_init(void);
extern int last_stop;
int main_init(void)
{
char str[] = "wifi join Dong abcd07691234";
my_round(20);
sim_dev_init();
// system(str);
// rt_thread_mdelay(18000);
// char *argv[] = {"wifi", "join", "Dong", "abcd07691234"};
// wifi_join(4, argv);
// char *ssid = "Dong";
// char *key = "abcd07691234";
// rt_wlan_connect(ssid, key);
return 0;
ath_init();
wla_init();
if (wlan_connected == RT_EOK)
{
last_stop = 1;
mqt_init();
}
ap3_init();
inf_init();
cdc_init();
tst_init(); // 不知道为什么不能在mqtt_init()之前,不然报错
serial_init();
mot_init();
aiv_init();
sensor_init();
led_init();
}
MSH_CMD_EXPORT_ALIAS(main_init, myproject, run my project);

View File

@ -41,7 +41,7 @@ int main(void)
// rt_wlan_connect("Dong", "abcd07691234");
// rt_wlan_connect("as", "07691234");
// wlan_connected=rt_wlan_connect("as", "07691234");
system("myproject");
// system("myproject");
// system("mqtt");
mytime();

View File

@ -20,12 +20,12 @@ void lcd_black(int x, int y);
void lcd_white(int x, int y);
void snake_address(int x, int y, int r, const rt_uint16_t da);
// typedef int QDataType;
// typedef struct QListNode
// {
// QDataType data;
// struct QListNode* next;
// } QueueNode;
void ath_init(void);
void wla_init(void);
void serial_init(void);
void mqt_init(void);
int ap3_init(void);
void snk_init(void);
void cdc_init(void);
void inf_init(void);
void tst_init(void);

View File

@ -640,6 +640,44 @@ void tst_init(void)
}
MSH_CMD_EXPORT_ALIAS(tst_init, no_mqtt, "Infrared");
// extern int aiv_init(void);
// extern int mot_init(void);
// // extern int last_stop;
// int main_init(void)
// {
// my_round(20);
// sim_dev_init();
// ath_init();
// wla_init();
// if (wlan_connected == RT_EOK)
// {
// last_stop = 1;
// mqt_init();
// }
// ap3_init();
// inf_init();
// cdc_init();
// tst_init(); // 不知道为什么不能在mqtt_init()之前,不然报错
// serial_init();
// mot_init();
// aiv_init();
// // sensor_init();
// led_init();
// }
// void evn_init(void)
// {
// if(rt_event_create("my_event2", RT_IPC_FLAG_FIFO) != RT_EOK)
@ -647,42 +685,3 @@ MSH_CMD_EXPORT_ALIAS(tst_init, no_mqtt, "Infrared");
// rt_kprintf("Create Event Failed!\n");
// }
// }
extern int aiv_init(void);
extern int mot_init(void);
void my_project(void)
{
// /* 选择 NEC 解码器 */
// ir_select_decoder("nec");
// evn_init();
ath_init();
wla_init();
if (wlan_connected == RT_EOK)
{
last_stop = 1;
mqt_init();
}
ap3_init();
inf_init();
cdc_init();
tst_init(); // 不知道为什么不能在mqtt_init()之前,不然报错
serial_init();
mot_init();
aiv_init();
led_init();
}
MSH_CMD_EXPORT_ALIAS(my_project, myproject, run my project);

145
applications/sensor.c Normal file
View File

@ -0,0 +1,145 @@
#define ADC_DEV_NAME "adc1" /* ADC 设备名称 */
#define ADC_DEV_CHANNEL 5 /* ADC 通道 */
#define ADC_DEV_CHANNEL1 6 /* ADC 通道 */
#define ADC_DEV_CHANNEL2 7 /* ADC 通道 */
#define REFER_VOLTAGE 330 /* 参考电压 3.3V,数据精度乘以100保留2位小数*/
#define CONVERT_BITS (1 << 12) /* 转换位数为12位 */
#include <rtthread.h>
#include <rtdevice.h>
#include <drv_gpio.h>
rt_thread_t Sensor_Thread = RT_NULL;
#define THREAD_PRIORITY 25
#define THREAD_STACK_SIZE 4096
#define THREAD_TIMESLICE 5
#define PM25_READ_TIMES 20
#define GPIO_PIN GET_PIN(G, 5)
#define LOG_TAG "sensor"
#define DBG_LVL DBG_LOG
// #define DBG_LVL DBG_INFO
#define USE_LOG1
#define USE_LOG2
#define USE_LOG3
// #define USE_LOG4
#define USE_LOG5
// #define USE_LOG6
// #define USE_LOG_D
#include "logn.h"
float ADC_air;
float ADC_PM25;
float ADC_pressure;
float ADC_Read()
{
rt_adc_device_t adc_dev; /* ADC 设备句柄 */
rt_uint32_t value, vol;
/* 查找设备 */
adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
/* 使能设备 */
rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);
/* 读取采样值 */
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);
return value;
}
float ADC1_Read()
{
rt_adc_device_t adc_dev; /* ADC 设备句柄 */
rt_uint32_t value, vol;
/* 查找设备 */
adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
/* 使能设备 */
rt_adc_enable(adc_dev, ADC_DEV_CHANNEL1);
/* 读取采样值 */
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL1);
return value;
}
float ADC2_Read()
{
rt_adc_device_t adc_dev; /* ADC 设备句柄 */
rt_uint32_t value, vol;
/* 查找设备 */
adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
/* 使能设备 */
rt_adc_enable(adc_dev, ADC_DEV_CHANNEL2);
/* 读取采样值 */
value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL2);
return value;
}
float PM25_GetData(void)
{
int ADCVal;
int dustVal = 0;
float Voltage;
rt_pin_write(GPIO_PIN, PIN_HIGH);//置1 开启内部LED
rt_hw_us_delay(280);
ADCVal = ADC1_Read();
rt_hw_us_delay(25);
rt_pin_write(GPIO_PIN, PIN_LOW); //置0 关闭内部LED
rt_hw_us_delay(9680); //需要脉宽比0.32ms/10ms的PWM信号驱动传感器中的LED
Voltage = 3.3f * ADCVal / 4096.f * 2; //获得AO输出口的电压值
dustVal = (0.17*Voltage-0.1)*1000; //乘以1000单位换成ug/m3//
if (dustVal < 0)
dustVal = 0; //限位//
if (dustVal>500)
dustVal=500;
return dustVal;
}
/**
* @brief
* @param
* @retval
*/
float Get_PM25_Average_Data(void)
{
float temp_val=0;
float t;
for(t=0;t<PM25_READ_TIMES;t++) //#define PM25_READ_TIMES 20 定义读取次数,读这么多次,然后取平均值
{
temp_val+=PM25_GetData(); //读取ADC值
rt_thread_mdelay(5);
}
temp_val/=PM25_READ_TIMES;//得到平均值
return temp_val;//返回算出的ADC平均值
}
static void sensor_thread(void *parameter)
{
while (1)
{
ADC_air = ADC_Read(); // 空气质量传感器数值 0-4095 表示从差到优秀
// ADC_PM25 = Get_PM25_Average_Data(); // PM2.5传感器数值0-500 表示从优秀到查差
ADC_pressure = ADC2_Read(); // 压力传感器数值 0-4095 表示从差到优秀
LOG5("ADC_air:%f,ADC_PM25:%f,ADC_pressure:%f", ADC_air, ADC_PM25, ADC_pressure);
rt_thread_mdelay(1000);
}
}
void sensor_init(void)
{
Sensor_Thread = rt_thread_create("sensor", sensor_thread, RT_NULL, THREAD_STACK_SIZE, THREAD_PRIORITY, THREAD_TIMESLICE);
if (Sensor_Thread != RT_NULL)
{
rt_thread_startup(Sensor_Thread);
}
else
{
rt_kprintf("Sensor_Thread Create Failed!\n");
}
}
// MSH_CMD_EXPORT_ALIAS(sensor_init, sensor, run my sensors);

1
applications/sensor.h Normal file
View File

@ -0,0 +1 @@
void sensor_init(void);

View File

@ -52,62 +52,65 @@ Mcu.Pin11=PA1
Mcu.Pin12=PA2
Mcu.Pin13=PA3
Mcu.Pin14=PA4
Mcu.Pin15=PA7
Mcu.Pin16=PE7
Mcu.Pin17=PE8
Mcu.Pin18=PE9
Mcu.Pin19=PE10
Mcu.Pin15=PA5
Mcu.Pin16=PA6
Mcu.Pin17=PA7
Mcu.Pin18=PE7
Mcu.Pin19=PE8
Mcu.Pin2=PF4
Mcu.Pin20=PE11
Mcu.Pin21=PE13
Mcu.Pin22=PB10
Mcu.Pin23=PB11
Mcu.Pin24=PB13
Mcu.Pin25=PD8
Mcu.Pin26=PD9
Mcu.Pin27=PD12
Mcu.Pin28=PD13
Mcu.Pin29=PD14
Mcu.Pin20=PE9
Mcu.Pin21=PE10
Mcu.Pin22=PE11
Mcu.Pin23=PE13
Mcu.Pin24=PE14
Mcu.Pin25=PB10
Mcu.Pin26=PB11
Mcu.Pin27=PB13
Mcu.Pin28=PD8
Mcu.Pin29=PD9
Mcu.Pin3=PF5
Mcu.Pin30=PD15
Mcu.Pin31=PC8
Mcu.Pin32=PC9
Mcu.Pin33=PA8
Mcu.Pin34=PA9
Mcu.Pin35=PA10
Mcu.Pin36=PA11
Mcu.Pin37=PA12
Mcu.Pin38=PA13
Mcu.Pin39=PA14
Mcu.Pin30=PD12
Mcu.Pin31=PD13
Mcu.Pin32=PD14
Mcu.Pin33=PD15
Mcu.Pin34=PC8
Mcu.Pin35=PC9
Mcu.Pin36=PA8
Mcu.Pin37=PA9
Mcu.Pin38=PA10
Mcu.Pin39=PA11
Mcu.Pin4=PF6
Mcu.Pin40=PC10
Mcu.Pin41=PC11
Mcu.Pin42=PC12
Mcu.Pin43=PD0
Mcu.Pin44=PD1
Mcu.Pin45=PD2
Mcu.Pin46=PD4
Mcu.Pin47=PD5
Mcu.Pin48=PG10
Mcu.Pin49=PG11
Mcu.Pin40=PA12
Mcu.Pin41=PA13
Mcu.Pin42=PA14
Mcu.Pin43=PC10
Mcu.Pin44=PC11
Mcu.Pin45=PC12
Mcu.Pin46=PD0
Mcu.Pin47=PD1
Mcu.Pin48=PD2
Mcu.Pin49=PD4
Mcu.Pin5=PF7
Mcu.Pin50=PG13
Mcu.Pin51=PG14
Mcu.Pin52=PB7
Mcu.Pin53=VP_IWDG_VS_IWDG
Mcu.Pin54=VP_RTC_VS_RTC_Activate
Mcu.Pin55=VP_SYS_VS_Systick
Mcu.Pin56=VP_TIM1_VS_ClockSourceINT
Mcu.Pin57=VP_TIM2_VS_ClockSourceINT
Mcu.Pin58=VP_TIM3_VS_ClockSourceINT
Mcu.Pin59=VP_TIM11_VS_ClockSourceINT
Mcu.Pin50=PD5
Mcu.Pin51=PG10
Mcu.Pin52=PG11
Mcu.Pin53=PG13
Mcu.Pin54=PG14
Mcu.Pin55=PB7
Mcu.Pin56=VP_IWDG_VS_IWDG
Mcu.Pin57=VP_RTC_VS_RTC_Activate
Mcu.Pin58=VP_SYS_VS_Systick
Mcu.Pin59=VP_TIM1_VS_ClockSourceINT
Mcu.Pin6=PF9
Mcu.Pin60=VP_TIM13_VS_ClockSourceINT
Mcu.Pin61=VP_TIM14_VS_ClockSourceINT
Mcu.Pin60=VP_TIM2_VS_ClockSourceINT
Mcu.Pin61=VP_TIM3_VS_ClockSourceINT
Mcu.Pin62=VP_TIM11_VS_ClockSourceINT
Mcu.Pin63=VP_TIM13_VS_ClockSourceINT
Mcu.Pin64=VP_TIM14_VS_ClockSourceINT
Mcu.Pin7=PH0-OSC_IN
Mcu.Pin8=PH1-OSC_OUT
Mcu.Pin9=PC2
Mcu.PinsNb=62
Mcu.PinsNb=65
Mcu.ThirdPartyNb=0
Mcu.UserConstants=
Mcu.UserName=STM32F407ZGTx
@ -146,6 +149,10 @@ PA3.Locked=true
PA3.Mode=Asynchronous
PA3.Signal=USART2_RX
PA4.Signal=COMP_DAC1_group
PA5.Locked=true
PA5.Signal=ADCx_IN5
PA6.Locked=true
PA6.Signal=ADCx_IN6
PA7.Signal=S_TIM3_CH2
PA8.GPIOParameters=GPIO_Label
PA8.GPIO_Label=FAN1
@ -197,6 +204,10 @@ PE10.Signal=FSMC_D7_DA7
PE11.Locked=true
PE11.Signal=S_TIM1_CH2
PE13.Signal=S_TIM1_CH3
PE14.GPIOParameters=GPIO_Label
PE14.GPIO_Label=PM25LED
PE14.Locked=true
PE14.Signal=S_TIM1_CH4
PE7.Signal=FSMC_D4_DA4
PE8.Signal=FSMC_D5_DA5
PE9.Signal=FSMC_D6_DA6
@ -293,6 +304,10 @@ RCC.VCOOutputFreq_Value=336000000
RCC.VcooutputI2S=192000000
SH.ADCx_IN1.0=ADC1_IN1,IN1
SH.ADCx_IN1.ConfNb=1
SH.ADCx_IN5.0=ADC1_IN5,IN5
SH.ADCx_IN5.ConfNb=1
SH.ADCx_IN6.0=ADC1_IN6,IN6
SH.ADCx_IN6.ConfNb=1
SH.COMP_DAC1_group.0=DAC_OUT1,DAC_OUT1
SH.COMP_DAC1_group.ConfNb=1
SH.FSMC_A18.0=FSMC_A18,A18_1
@ -323,6 +338,8 @@ SH.S_TIM1_CH2.0=TIM1_CH2,PWM Generation2 CH2
SH.S_TIM1_CH2.ConfNb=1
SH.S_TIM1_CH3.0=TIM1_CH3,PWM Generation3 CH3
SH.S_TIM1_CH3.ConfNb=1
SH.S_TIM1_CH4.0=TIM1_CH4,PWM Generation4 CH4
SH.S_TIM1_CH4.ConfNb=1
SH.S_TIM2_CH3.0=TIM2_CH3,PWM Generation3 CH3
SH.S_TIM2_CH3.ConfNb=1
SH.S_TIM2_CH4.0=TIM2_CH4,PWM Generation4 CH4
@ -340,7 +357,8 @@ SPI2.Mode=SPI_MODE_MASTER
SPI2.VirtualType=VM_MASTER
TIM1.Channel-PWM\ Generation2\ CH2=TIM_CHANNEL_2
TIM1.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3
TIM1.IPParameters=Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3
TIM1.Channel-PWM\ Generation4\ CH4=TIM_CHANNEL_4
TIM1.IPParameters=Channel-PWM Generation2 CH2,Channel-PWM Generation3 CH3,Channel-PWM Generation4 CH4
TIM14.Channel=TIM_CHANNEL_1
TIM14.IPParameters=Channel
TIM2.Channel-PWM\ Generation3\ CH3=TIM_CHANNEL_3

View File

@ -80,6 +80,8 @@ void Error_Handler(void);
/* USER CODE END EFP */
/* Private defines -----------------------------------------------------------*/
#define PM25LED_Pin GPIO_PIN_14
#define PM25LED_GPIO_Port GPIOE
#define FAN1_Pin GPIO_PIN_8
#define FAN1_GPIO_Port GPIOA

View File

@ -557,6 +557,10 @@ static void MX_TIM1_Init(void)
{
Error_Handler();
}
if (HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
{
Error_Handler();
}
sBreakDeadTimeConfig.OffStateRunMode = TIM_OSSR_DISABLE;
sBreakDeadTimeConfig.OffStateIDLEMode = TIM_OSSI_DISABLE;
sBreakDeadTimeConfig.LockLevel = TIM_LOCKLEVEL_OFF;

View File

@ -121,8 +121,10 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
__HAL_RCC_GPIOA_CLK_ENABLE();
/**ADC1 GPIO Configuration
PA1 ------> ADC1_IN1
PA5 ------> ADC1_IN5
PA6 ------> ADC1_IN6
*/
GPIO_InitStruct.Pin = GPIO_PIN_1;
GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_5|GPIO_PIN_6;
GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
GPIO_InitStruct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
@ -176,8 +178,10 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
/**ADC1 GPIO Configuration
PA1 ------> ADC1_IN1
PA5 ------> ADC1_IN5
PA6 ------> ADC1_IN6
*/
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1);
HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_5|GPIO_PIN_6);
/* USER CODE BEGIN ADC1_MspDeInit 1 */
@ -600,8 +604,9 @@ void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
/**TIM1 GPIO Configuration
PE11 ------> TIM1_CH2
PE13 ------> TIM1_CH3
PE14 ------> TIM1_CH4
*/
GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13;
GPIO_InitStruct.Pin = GPIO_PIN_11|GPIO_PIN_13|PM25LED_Pin;
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;

View File

@ -1,180 +0,0 @@
# 红外遥控贪吃蛇/显示+上传温度等数据到云平台
**梁浚超** 导师:**李镇鸿**
![简略教程封面](/my_picture/简略教程封面.jpg)
[成果展示视频链接(new)(https://www.bilibili.com/video/BV1VqeceTEts) ](https://www.bilibili.com/video/BV1VqeceTEts)
[简略教程视频链接(https://www.bilibili.com/video/BV15uYqeME6t)](https://www.bilibili.com/video/BV15uYqeME6t)
[成果展示视频链接(https://www.bilibili.com/video/BV1x3YSesEcw)](https://www.bilibili.com/video/BV1x3YSesEcw)
## 主要内容
- [红外遥控贪吃蛇/显示+上传温度等数据到云平台](#红外遥控贪吃蛇显示上传温度等数据到云平台)
- [主要内容](#主要内容)
- [1. LCD显示温湿度等数据](#1-lcd显示温湿度等数据)
- [1.1 LCD显示字符串](#11-lcd显示字符串)
- [1.2 屏幕圆角](#12-屏幕圆角)
- [2. LCD贪吃蛇小游戏](#2-lcd贪吃蛇小游戏)
- [2.1 循环队列储存蛇身的坐标](#21-循环队列储存蛇身的坐标)
- [2.2 放弃使用bool记录地图](#22-放弃使用bool记录地图)
- [2.3 随机运动](#23-随机运动)
- [2.4 引入按键](#24-引入按键)
- [2.5 红外遥控](#25-红外遥控)
- [3. 红外遥控](#3-红外遥控)
- [3.1 填好对应的pin](#31-填好对应的pin)
- [3.2 找到合适的遥控器](#32-找到合适的遥控器)
- [3.3 基本操作](#33-基本操作)
- [3.4 导致LCD闪烁](#34-导致lcd闪烁)
- [4. 时间获取,显示](#4-时间获取显示)
- [5. 菜单切换](#5-菜单切换)
- [6. MQTT上传温湿度等数据到云平台](#6-mqtt上传温湿度等数据到云平台)
- [6.1 简单修改](#61-简单修改)
- [6.2 连接WiFi](#62-连接wifi)
- [6.3 阿里云平台查看数据](#63-阿里云平台查看数据)
- [光照强度](#光照强度)
- [接近感应](#接近感应)
- [蛇长](#蛇长)
- [湿度](#湿度)
- [温度](#温度)
- [6.4 开启关闭MQTT](#64-开启关闭mqtt)
- [展望](#展望)
- [感谢](#感谢)
## 1. LCD显示温湿度等数据
[成果展示视频链接1:10(new)(https://www.bilibili.com/video/BV1VqeceTEts) ](https://www.bilibili.com/video/BV1VqeceTEts)
![LCD显示](../my_picture/LCD数据.jpg)
### 1.1 LCD显示字符串
左上角是00 →x↓y
``` c
void easy_show_lcd(char *title, float Temp)
{
lcd_show_string(10, plus_lcd_y(24), 24, title);
rt_sprintf(tmp, "%f", Temp);
lcd_show_string(10, plus_lcd_y(32), 32, tmp);
}
```
### 1.2 屏幕圆角
勾股定理、⚪的公式
``` c
if ((newi * newi + newj * newj) > (r * r))
{
lcd_black(i, j);
}
```
## 2. LCD贪吃蛇小游戏
[视频展示](https://www.bilibili.com/video/BV1WHafe1EBh/?spm_id_from=333.999.0.0&vd_source=4ac343050490681bfc3be821b46a4a18)
### 2.1 循环队列储存蛇身的坐标
``` c
int snake_head = 2, snake_tail = 0; // 蛇头,蛇尾
new_head_x = (snake_list[snake_head][0] + snake_direction[now_direction][0] + SNAKE_MAX) % (SNAKE_MAX);
```
### 2.2 放弃使用bool记录地图
内存不够
### 2.3 随机运动
``` c
int snake_direction[4][2] = {{0, -1}, {-1, 0}, {0, 1}, {1, 0}}; // 上,左,下,右
```
![alt text](../my_picture/防止反向.jpg)
``` c
// 50%的概率保持当前方向
if (rand() % 100 < 50)
{
new_direction = rand() % 3;
now_direction = (now_direction + 3 + new_direction) % 4; // 防止反向、走回头路
}
```
### 2.4 引入按键
修改`now_direction`就可以了
### 2.5 红外遥控
## 3. 红外遥控
### 3.1 填好对应的pin
### 3.2 找到合适的遥控器
| 编号key| 功能 |
| :----: | :----: |
| 0x30| 上 |
| 0xE8 | 左 |
| 0xB0 | 下 |
| 0x68 | 右 |
| 0xFF | OK |
| 0x38 | 电源键 |
| 0xA8 | 静音 |
| 0x88 | 菜单 |
| 0x28 | 退出 |
### 3.3 基本操作
``` c
ir_select_decoder("nec");
infrared_read("nec", &infrared_data);
snake_compare(infrared_data.data.nec.key, infrared_data.data.nec.repeat);
rt_sprintf(tmp, "%02X", key);
```
### 3.4 导致LCD闪烁
[闪烁展示](https://www.bilibili.com/video/BV1frakeoEbc/?spm_id_from=333.999.0.0)
[问题解决](https://club.rt-thread.org/ask/article/23706daa8b2e9e55.html)
## 4. 时间获取,显示
![显示时间.jpg](../my_picture/显示时间.jpg)
[参考(https://blog.csdn.net/toopoo/article/details/113665077)](https://blog.csdn.net/toopoo/article/details/113665077)
``` c
void greattime()
{
time_t cur_time;
struct tm *info;
cur_time = ntp_get_time(RT_NULL);
info=localtime(&cur_time);
strftime(tmp, 80, "%Y-%m-%d", info);
lcd_show_string(40, 240/2-32-24, 32, tmp);
strftime(tmp, 80, "%H:%M:%S", info);
lcd_show_string(50, 240/2+24, 32, tmp);
if (cur_time)
{
rt_kprintf("NTP Server Time: %s", ctime((const time_t *)&cur_time));
}
}
```
## 5. 菜单切换
``` c
// 菜单(切换页面)
if (repeat == 0 && (rt_strcmp(tmp, "88") == 0 || rt_strcmp(tmp, "11") == 0))
{
page_chosen = (page_chosen % PAGE_MAX) + 1;
page_first = 1;
}
```
[展示1:51](https://www.bilibili.com/video/BV1VqeceTEts/?spm_id_from=333.999.0.0&vd_source=4ac343050490681bfc3be821b46a4a18)
## 6. MQTT上传温湿度等数据到云平台
### 6.1 简单修改
``` c
char tmp[];
rt_sprintf(tmp, "{\"params\":{\"temperature\":%.2f,\"humidity\":%.2f,\"LightLux\":%.2f,\"Psdata\":%d,\"Snakelen\":%d}}", Temp, Humi, brightness, ps_data, snake_len);
const char *fmt = "/sys/%s/%s/thing/event/property/post";
char *payload = tmp;
```
### 6.2 连接WiFi
``` c
rt_wlan_config_autoreconnect(RT_TRUE);
rt_wlan_connect("Dong", "abcd07691234");
system("myproject");
```
### 6.3 阿里云平台查看数据
#### 光照强度
![alt text](../my_picture/光照强度.png)
#### 接近感应
![alt text](../my_picture/接近感应.png)
#### 蛇长
![alt text](../my_picture/蛇长.png)
#### 湿度
![alt text](../my_picture/湿度.png)
#### 温度
![alt text](../my_picture/温度.png)
### 6.4 开启关闭MQTT
![开启mqtt图](../my_picture/成果展示封面.png)
``` c
IOT_MQTT_Destroy(&pclient);
```
#### 展望
LVGL,网页/小程序展示操作
## 感谢
RT-Thread和各位导师的指导

View File

@ -1,15 +0,0 @@
from building import *
import os
cwd = GetCurrentDir()
CPPPATH = [cwd]
src = Glob('*.c')
group = DefineGroup('Applications', src, depend = [''], CPPPATH = CPPPATH)
list = os.listdir(cwd)
for item in list:
if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
group = group + SConscript(os.path.join(item, 'SConscript'))
Return('group')