添加项目文件。
parent
b7ebcbb2cb
commit
ab55151a9d
@ -0,0 +1,6 @@
|
||||
{
|
||||
"port": "COM12",
|
||||
"configuration": "cpu=atmega2560",
|
||||
"board": "arduino:avr:mega",
|
||||
"sketch": "2021_Arduino_Demo.ino"
|
||||
}
|
@ -0,0 +1,551 @@
|
||||
{
|
||||
"version": 4,
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Arduino",
|
||||
"compilerPath": "C:\\Users\\BKRC-WQ\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\bin\\avr-g++",
|
||||
"compilerArgs": [
|
||||
"-w",
|
||||
"-std=gnu++11",
|
||||
"-fpermissive",
|
||||
"-fno-exceptions",
|
||||
"-ffunction-sections",
|
||||
"-fdata-sections",
|
||||
"-fno-threadsafe-statics",
|
||||
"-Wno-error=narrowing"
|
||||
],
|
||||
"intelliSenseMode": "gcc-x64",
|
||||
"includePath": [
|
||||
"C:\\Users\\BKRC-WQ\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.4\\cores\\arduino",
|
||||
"C:\\Users\\BKRC-WQ\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.4\\variants\\mega",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\DCMotor",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\CoreLED",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\CoreKEY",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\CoreBeep",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\ExtSRAMInterface",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\LED",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\BH1750",
|
||||
"C:\\Users\\BKRC-WQ\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.4\\libraries\\Wire\\src",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\Command",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\BEEP",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\Infrares",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\Ultrasonic",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\BKRC_Voice",
|
||||
"C:\\Users\\BKRC-WQ\\Desktop\\libraries\\Metro",
|
||||
"c:\\users\\bkrc-wq\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\lib\\gcc\\avr\\7.3.0\\include",
|
||||
"c:\\users\\bkrc-wq\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\lib\\gcc\\avr\\7.3.0\\include-fixed",
|
||||
"c:\\users\\bkrc-wq\\appdata\\local\\arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7\\avr\\include"
|
||||
],
|
||||
"forcedInclude": [
|
||||
"C:\\Users\\BKRC-WQ\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.4\\cores\\arduino\\Arduino.h"
|
||||
],
|
||||
"cStandard": "c11",
|
||||
"cppStandard": "c++11",
|
||||
"defines": [
|
||||
"F_CPU=16000000L",
|
||||
"ARDUINO=10813",
|
||||
"ARDUINO_AVR_MEGA2560",
|
||||
"ARDUINO_ARCH_AVR",
|
||||
"__DBL_MIN_EXP__=(-125)",
|
||||
"__HQ_FBIT__=15",
|
||||
"__cpp_attributes=200809",
|
||||
"__UINT_LEAST16_MAX__=0xffffU",
|
||||
"__ATOMIC_ACQUIRE=2",
|
||||
"__SFRACT_IBIT__=0",
|
||||
"__FLT_MIN__=1.17549435e-38F",
|
||||
"__GCC_IEC_559_COMPLEX=0",
|
||||
"__BUILTIN_AVR_SLEEP=1",
|
||||
"__BUILTIN_AVR_COUNTLSULLK=1",
|
||||
"__cpp_aggregate_nsdmi=201304",
|
||||
"__BUILTIN_AVR_COUNTLSULLR=1",
|
||||
"__UFRACT_MAX__=0XFFFFP-16UR",
|
||||
"__UINT_LEAST8_TYPE__=unsigned char",
|
||||
"__DQ_FBIT__=63",
|
||||
"__INTMAX_C(c)=c ## LL",
|
||||
"__ULFRACT_FBIT__=32",
|
||||
"__SACCUM_EPSILON__=0x1P-7HK",
|
||||
"__CHAR_BIT__=8",
|
||||
"__USQ_IBIT__=0",
|
||||
"__UINT8_MAX__=0xff",
|
||||
"__ACCUM_FBIT__=15",
|
||||
"__WINT_MAX__=0x7fff",
|
||||
"__FLT32_MIN_EXP__=(-125)",
|
||||
"__cpp_static_assert=200410",
|
||||
"__USFRACT_FBIT__=8",
|
||||
"__ORDER_LITTLE_ENDIAN__=1234",
|
||||
"__SIZE_MAX__=0xffffU",
|
||||
"__WCHAR_MAX__=0x7fff",
|
||||
"__LACCUM_IBIT__=32",
|
||||
"__DBL_DENORM_MIN__=double(1.40129846e-45L)",
|
||||
"__GCC_ATOMIC_CHAR_LOCK_FREE=1",
|
||||
"__GCC_IEC_559=0",
|
||||
"__FLT_EVAL_METHOD__=0",
|
||||
"__BUILTIN_AVR_LLKBITS=1",
|
||||
"__cpp_binary_literals=201304",
|
||||
"__LLACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-47LLK",
|
||||
"__GCC_ATOMIC_CHAR32_T_LOCK_FREE=1",
|
||||
"__BUILTIN_AVR_HKBITS=1",
|
||||
"__BUILTIN_AVR_BITSLLK=1",
|
||||
"__FRACT_FBIT__=15",
|
||||
"__BUILTIN_AVR_BITSLLR=1",
|
||||
"__cpp_variadic_templates=200704",
|
||||
"__UINT_FAST64_MAX__=0xffffffffffffffffULL",
|
||||
"__SIG_ATOMIC_TYPE__=char",
|
||||
"__BUILTIN_AVR_UHKBITS=1",
|
||||
"__UACCUM_FBIT__=16",
|
||||
"__DBL_MIN_10_EXP__=(-37)",
|
||||
"__FINITE_MATH_ONLY__=0",
|
||||
"__cpp_variable_templates=201304",
|
||||
"__LFRACT_IBIT__=0",
|
||||
"__GNUC_PATCHLEVEL__=0",
|
||||
"__FLT32_HAS_DENORM__=1",
|
||||
"__LFRACT_MAX__=0X7FFFFFFFP-31LR",
|
||||
"__UINT_FAST8_MAX__=0xff",
|
||||
"__has_include(STR)=__has_include__(STR)",
|
||||
"__DEC64_MAX_EXP__=385",
|
||||
"__INT8_C(c)=c",
|
||||
"__INT_LEAST8_WIDTH__=8",
|
||||
"__UINT_LEAST64_MAX__=0xffffffffffffffffULL",
|
||||
"__SA_FBIT__=15",
|
||||
"__SHRT_MAX__=0x7fff",
|
||||
"__LDBL_MAX__=3.40282347e+38L",
|
||||
"__FRACT_MAX__=0X7FFFP-15R",
|
||||
"__UFRACT_FBIT__=16",
|
||||
"__UFRACT_MIN__=0.0UR",
|
||||
"__UINT_LEAST8_MAX__=0xff",
|
||||
"__GCC_ATOMIC_BOOL_LOCK_FREE=1",
|
||||
"__UINTMAX_TYPE__=long long unsigned int",
|
||||
"__LLFRACT_EPSILON__=0x1P-63LLR",
|
||||
"__BUILTIN_AVR_DELAY_CYCLES=1",
|
||||
"__DEC32_EPSILON__=1E-6DF",
|
||||
"__FLT_EVAL_METHOD_TS_18661_3__=0",
|
||||
"__UINT32_MAX__=0xffffffffUL",
|
||||
"__GXX_EXPERIMENTAL_CXX0X__=1",
|
||||
"__ULFRACT_MAX__=0XFFFFFFFFP-32ULR",
|
||||
"__TA_IBIT__=16",
|
||||
"__LDBL_MAX_EXP__=128",
|
||||
"__WINT_MIN__=(-__WINT_MAX__ - 1)",
|
||||
"__INT_LEAST16_WIDTH__=16",
|
||||
"__ULLFRACT_MIN__=0.0ULLR",
|
||||
"__SCHAR_MAX__=0x7f",
|
||||
"__WCHAR_MIN__=(-__WCHAR_MAX__ - 1)",
|
||||
"__INT64_C(c)=c ## LL",
|
||||
"__DBL_DIG__=6",
|
||||
"__GCC_ATOMIC_POINTER_LOCK_FREE=1",
|
||||
"__AVR_HAVE_SPH__=1",
|
||||
"__LLACCUM_MIN__=(-0X1P15LLK-0X1P15LLK)",
|
||||
"__BUILTIN_AVR_KBITS=1",
|
||||
"__BUILTIN_AVR_ABSK=1",
|
||||
"__BUILTIN_AVR_ABSR=1",
|
||||
"__SIZEOF_INT__=2",
|
||||
"__SIZEOF_POINTER__=2",
|
||||
"__GCC_ATOMIC_CHAR16_T_LOCK_FREE=1",
|
||||
"__USACCUM_IBIT__=8",
|
||||
"__USER_LABEL_PREFIX__",
|
||||
"__STDC_HOSTED__=1",
|
||||
"__LDBL_HAS_INFINITY__=1",
|
||||
"__LFRACT_MIN__=(-0.5LR-0.5LR)",
|
||||
"__HA_IBIT__=8",
|
||||
"__FLT32_DIG__=6",
|
||||
"__TQ_IBIT__=0",
|
||||
"__FLT_EPSILON__=1.19209290e-7F",
|
||||
"__GXX_WEAK__=1",
|
||||
"__SHRT_WIDTH__=16",
|
||||
"__USFRACT_IBIT__=0",
|
||||
"__LDBL_MIN__=1.17549435e-38L",
|
||||
"__FRACT_MIN__=(-0.5R-0.5R)",
|
||||
"__AVR_SFR_OFFSET__=0x20",
|
||||
"__DEC32_MAX__=9.999999E96DF",
|
||||
"__cpp_threadsafe_static_init=200806",
|
||||
"__DA_IBIT__=32",
|
||||
"__INT32_MAX__=0x7fffffffL",
|
||||
"__UQQ_FBIT__=8",
|
||||
"__INT_WIDTH__=16",
|
||||
"__SIZEOF_LONG__=4",
|
||||
"__UACCUM_MAX__=0XFFFFFFFFP-16UK",
|
||||
"__UINT16_C(c)=c ## U",
|
||||
"__PTRDIFF_WIDTH__=16",
|
||||
"__DECIMAL_DIG__=9",
|
||||
"__LFRACT_EPSILON__=0x1P-31LR",
|
||||
"__AVR_2_BYTE_PC__=1",
|
||||
"__ULFRACT_MIN__=0.0ULR",
|
||||
"__INTMAX_WIDTH__=64",
|
||||
"__has_include_next(STR)=__has_include_next__(STR)",
|
||||
"__BUILTIN_AVR_ULLRBITS=1",
|
||||
"__LDBL_HAS_QUIET_NAN__=1",
|
||||
"__ULACCUM_IBIT__=32",
|
||||
"__UACCUM_EPSILON__=0x1P-16UK",
|
||||
"__BUILTIN_AVR_SEI=1",
|
||||
"__GNUC__=7",
|
||||
"__ULLACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-48ULLK",
|
||||
"__cpp_delegating_constructors=200604",
|
||||
"__HQ_IBIT__=0",
|
||||
"__BUILTIN_AVR_SWAP=1",
|
||||
"__FLT_HAS_DENORM__=1",
|
||||
"__SIZEOF_LONG_DOUBLE__=4",
|
||||
"__BIGGEST_ALIGNMENT__=1",
|
||||
"__STDC_UTF_16__=1",
|
||||
"__UINT24_MAX__=16777215UL",
|
||||
"__BUILTIN_AVR_NOP=1",
|
||||
"__GNUC_STDC_INLINE__=1",
|
||||
"__DQ_IBIT__=0",
|
||||
"__FLT32_HAS_INFINITY__=1",
|
||||
"__DBL_MAX__=double(3.40282347e+38L)",
|
||||
"__ULFRACT_IBIT__=0",
|
||||
"__cpp_raw_strings=200710",
|
||||
"__INT_FAST32_MAX__=0x7fffffffL",
|
||||
"__DBL_HAS_INFINITY__=1",
|
||||
"__INT64_MAX__=0x7fffffffffffffffLL",
|
||||
"__ACCUM_IBIT__=16",
|
||||
"__DEC32_MIN_EXP__=(-94)",
|
||||
"__BUILTIN_AVR_UKBITS=1",
|
||||
"__INTPTR_WIDTH__=16",
|
||||
"__BUILTIN_AVR_FMULSU=1",
|
||||
"__LACCUM_MAX__=0X7FFFFFFFFFFFFFFFP-31LK",
|
||||
"__INT_FAST16_TYPE__=int",
|
||||
"__LDBL_HAS_DENORM__=1",
|
||||
"__BUILTIN_AVR_BITSK=1",
|
||||
"__BUILTIN_AVR_BITSR=1",
|
||||
"__cplusplus=201402L",
|
||||
"__cpp_ref_qualifiers=200710",
|
||||
"__DEC128_MAX__=9.999999999999999999999999999999999E6144DL",
|
||||
"__INT_LEAST32_MAX__=0x7fffffffL",
|
||||
"__USING_SJLJ_EXCEPTIONS__=1",
|
||||
"__DEC32_MIN__=1E-95DF",
|
||||
"__ACCUM_MAX__=0X7FFFFFFFP-15K",
|
||||
"__DEPRECATED=1",
|
||||
"__cpp_rvalue_references=200610",
|
||||
"__DBL_MAX_EXP__=128",
|
||||
"__USACCUM_EPSILON__=0x1P-8UHK",
|
||||
"__WCHAR_WIDTH__=16",
|
||||
"__FLT32_MAX__=3.40282347e+38F32",
|
||||
"__DEC128_EPSILON__=1E-33DL",
|
||||
"__SFRACT_MAX__=0X7FP-7HR",
|
||||
"__FRACT_IBIT__=0",
|
||||
"__PTRDIFF_MAX__=0x7fff",
|
||||
"__UACCUM_MIN__=0.0UK",
|
||||
"__UACCUM_IBIT__=16",
|
||||
"__BUILTIN_AVR_NOPS=1",
|
||||
"__BUILTIN_AVR_WDR=1",
|
||||
"__FLT32_HAS_QUIET_NAN__=1",
|
||||
"__GNUG__=7",
|
||||
"__LONG_LONG_MAX__=0x7fffffffffffffffLL",
|
||||
"__SIZEOF_SIZE_T__=2",
|
||||
"__ULACCUM_MAX__=0XFFFFFFFFFFFFFFFFP-32ULK",
|
||||
"__cpp_rvalue_reference=200610",
|
||||
"__cpp_nsdmi=200809",
|
||||
"__SIZEOF_WINT_T__=2",
|
||||
"__LONG_LONG_WIDTH__=64",
|
||||
"__cpp_initializer_lists=200806",
|
||||
"__FLT32_MAX_EXP__=128",
|
||||
"__SA_IBIT__=16",
|
||||
"__ULLACCUM_MIN__=0.0ULLK",
|
||||
"__BUILTIN_AVR_ROUNDUHK=1",
|
||||
"__BUILTIN_AVR_ROUNDUHR=1",
|
||||
"__cpp_hex_float=201603",
|
||||
"__GXX_ABI_VERSION=1011",
|
||||
"__INT24_MAX__=8388607L",
|
||||
"__UTA_FBIT__=48",
|
||||
"__FLT_MIN_EXP__=(-125)",
|
||||
"__USFRACT_MAX__=0XFFP-8UHR",
|
||||
"__UFRACT_IBIT__=0",
|
||||
"__BUILTIN_AVR_ROUNDFX=1",
|
||||
"__BUILTIN_AVR_ROUNDULK=1",
|
||||
"__BUILTIN_AVR_ROUNDULR=1",
|
||||
"__cpp_lambdas=200907",
|
||||
"__BUILTIN_AVR_COUNTLSLLK=1",
|
||||
"__BUILTIN_AVR_COUNTLSLLR=1",
|
||||
"__BUILTIN_AVR_ROUNDHK=1",
|
||||
"__INT_FAST64_TYPE__=long long int",
|
||||
"__BUILTIN_AVR_ROUNDHR=1",
|
||||
"__DBL_MIN__=double(1.17549435e-38L)",
|
||||
"__BUILTIN_AVR_COUNTLSK=1",
|
||||
"__BUILTIN_AVR_ROUNDLK=1",
|
||||
"__BUILTIN_AVR_COUNTLSR=1",
|
||||
"__BUILTIN_AVR_ROUNDLR=1",
|
||||
"__LACCUM_MIN__=(-0X1P31LK-0X1P31LK)",
|
||||
"__ULLACCUM_FBIT__=48",
|
||||
"__BUILTIN_AVR_LKBITS=1",
|
||||
"__ULLFRACT_EPSILON__=0x1P-64ULLR",
|
||||
"__DEC128_MIN__=1E-6143DL",
|
||||
"__REGISTER_PREFIX__",
|
||||
"__UINT16_MAX__=0xffffU",
|
||||
"__DBL_HAS_DENORM__=1",
|
||||
"__BUILTIN_AVR_ULKBITS=1",
|
||||
"__ACCUM_MIN__=(-0X1P15K-0X1P15K)",
|
||||
"__AVR_ARCH__=2",
|
||||
"__SQ_IBIT__=0",
|
||||
"__FLT32_MIN__=1.17549435e-38F32",
|
||||
"__UINT8_TYPE__=unsigned char",
|
||||
"__BUILTIN_AVR_ROUNDUK=1",
|
||||
"__BUILTIN_AVR_ROUNDUR=1",
|
||||
"__UHA_FBIT__=8",
|
||||
"__NO_INLINE__=1",
|
||||
"__SFRACT_MIN__=(-0.5HR-0.5HR)",
|
||||
"__UTQ_FBIT__=128",
|
||||
"__FLT_MANT_DIG__=24",
|
||||
"__LDBL_DECIMAL_DIG__=9",
|
||||
"__VERSION__=\"7.3.0\"",
|
||||
"__UINT64_C(c)=c ## ULL",
|
||||
"__ULLFRACT_FBIT__=64",
|
||||
"__cpp_unicode_characters=200704",
|
||||
"__FRACT_EPSILON__=0x1P-15R",
|
||||
"__ULACCUM_MIN__=0.0ULK",
|
||||
"__UDA_FBIT__=32",
|
||||
"__cpp_decltype_auto=201304",
|
||||
"__LLACCUM_EPSILON__=0x1P-47LLK",
|
||||
"__GCC_ATOMIC_INT_LOCK_FREE=1",
|
||||
"__FLT32_MANT_DIG__=24",
|
||||
"__BUILTIN_AVR_BITSUHK=1",
|
||||
"__BUILTIN_AVR_BITSUHR=1",
|
||||
"__FLOAT_WORD_ORDER__=__ORDER_LITTLE_ENDIAN__",
|
||||
"__USFRACT_MIN__=0.0UHR",
|
||||
"__BUILTIN_AVR_BITSULK=1",
|
||||
"__ULLACCUM_IBIT__=16",
|
||||
"__BUILTIN_AVR_BITSULR=1",
|
||||
"__UQQ_IBIT__=0",
|
||||
"__BUILTIN_AVR_LLRBITS=1",
|
||||
"__SCHAR_WIDTH__=8",
|
||||
"__BUILTIN_AVR_BITSULLK=1",
|
||||
"__BUILTIN_AVR_BITSULLR=1",
|
||||
"__INT32_C(c)=c ## L",
|
||||
"__DEC64_EPSILON__=1E-15DD",
|
||||
"__ORDER_PDP_ENDIAN__=3412",
|
||||
"__DEC128_MIN_EXP__=(-6142)",
|
||||
"__UHQ_FBIT__=16",
|
||||
"__LLACCUM_FBIT__=47",
|
||||
"__FLT32_MAX_10_EXP__=38",
|
||||
"__BUILTIN_AVR_ROUNDULLK=1",
|
||||
"__BUILTIN_AVR_ROUNDULLR=1",
|
||||
"__INT_FAST32_TYPE__=long int",
|
||||
"__BUILTIN_AVR_HRBITS=1",
|
||||
"__UINT_LEAST16_TYPE__=unsigned int",
|
||||
"__BUILTIN_AVR_UHRBITS=1",
|
||||
"__INT16_MAX__=0x7fff",
|
||||
"__SIZE_TYPE__=unsigned int",
|
||||
"__UINT64_MAX__=0xffffffffffffffffULL",
|
||||
"__UDQ_FBIT__=64",
|
||||
"__INT8_TYPE__=signed char",
|
||||
"__cpp_digit_separators=201309",
|
||||
"__ELF__=1",
|
||||
"__ULFRACT_EPSILON__=0x1P-32ULR",
|
||||
"__LLFRACT_FBIT__=63",
|
||||
"__FLT_RADIX__=2",
|
||||
"__INT_LEAST16_TYPE__=int",
|
||||
"__BUILTIN_AVR_ABSFX=1",
|
||||
"__LDBL_EPSILON__=1.19209290e-7L",
|
||||
"__UINTMAX_C(c)=c ## ULL",
|
||||
"__INT24_MIN__=(-__INT24_MAX__-1)",
|
||||
"__SACCUM_MAX__=0X7FFFP-7HK",
|
||||
"__BUILTIN_AVR_ABSHR=1",
|
||||
"__SIG_ATOMIC_MAX__=0x7f",
|
||||
"__GCC_ATOMIC_WCHAR_T_LOCK_FREE=1",
|
||||
"__cpp_sized_deallocation=201309",
|
||||
"__SIZEOF_PTRDIFF_T__=2",
|
||||
"__AVR=1",
|
||||
"__BUILTIN_AVR_ABSLK=1",
|
||||
"__BUILTIN_AVR_ABSLR=1",
|
||||
"__LACCUM_EPSILON__=0x1P-31LK",
|
||||
"__DEC32_SUBNORMAL_MIN__=0.000001E-95DF",
|
||||
"__INT_FAST16_MAX__=0x7fff",
|
||||
"__UINT_FAST32_MAX__=0xffffffffUL",
|
||||
"__UINT_LEAST64_TYPE__=long long unsigned int",
|
||||
"__USACCUM_MAX__=0XFFFFP-8UHK",
|
||||
"__SFRACT_EPSILON__=0x1P-7HR",
|
||||
"__FLT_HAS_QUIET_NAN__=1",
|
||||
"__FLT_MAX_10_EXP__=38",
|
||||
"__LONG_MAX__=0x7fffffffL",
|
||||
"__DEC128_SUBNORMAL_MIN__=0.000000000000000000000000000000001E-6143DL",
|
||||
"__FLT_HAS_INFINITY__=1",
|
||||
"__cpp_unicode_literals=200710",
|
||||
"__USA_FBIT__=16",
|
||||
"__UINT_FAST16_TYPE__=unsigned int",
|
||||
"__DEC64_MAX__=9.999999999999999E384DD",
|
||||
"__INT_FAST32_WIDTH__=32",
|
||||
"__BUILTIN_AVR_RBITS=1",
|
||||
"__CHAR16_TYPE__=unsigned int",
|
||||
"__PRAGMA_REDEFINE_EXTNAME=1",
|
||||
"__SIZE_WIDTH__=16",
|
||||
"__INT_LEAST16_MAX__=0x7fff",
|
||||
"__DEC64_MANT_DIG__=16",
|
||||
"__UINT_LEAST32_MAX__=0xffffffffUL",
|
||||
"__SACCUM_FBIT__=7",
|
||||
"__FLT32_DENORM_MIN__=1.40129846e-45F32",
|
||||
"__GCC_ATOMIC_LONG_LOCK_FREE=1",
|
||||
"__SIG_ATOMIC_WIDTH__=8",
|
||||
"__INT_LEAST64_TYPE__=long long int",
|
||||
"__INT16_TYPE__=int",
|
||||
"__INT_LEAST8_TYPE__=signed char",
|
||||
"__SQ_FBIT__=31",
|
||||
"__DEC32_MAX_EXP__=97",
|
||||
"__INT_FAST8_MAX__=0x7f",
|
||||
"__INTPTR_MAX__=0x7fff",
|
||||
"__QQ_FBIT__=7",
|
||||
"__cpp_range_based_for=200907",
|
||||
"__UTA_IBIT__=16",
|
||||
"__AVR_ERRATA_SKIP__=1",
|
||||
"__FLT32_MIN_10_EXP__=(-37)",
|
||||
"__LDBL_MANT_DIG__=24",
|
||||
"__SFRACT_FBIT__=7",
|
||||
"__SACCUM_MIN__=(-0X1P7HK-0X1P7HK)",
|
||||
"__DBL_HAS_QUIET_NAN__=1",
|
||||
"__SIG_ATOMIC_MIN__=(-__SIG_ATOMIC_MAX__ - 1)",
|
||||
"AVR=1",
|
||||
"__BUILTIN_AVR_FMULS=1",
|
||||
"__cpp_return_type_deduction=201304",
|
||||
"__INTPTR_TYPE__=int",
|
||||
"__UINT16_TYPE__=unsigned int",
|
||||
"__WCHAR_TYPE__=int",
|
||||
"__SIZEOF_FLOAT__=4",
|
||||
"__AVR__=1",
|
||||
"__BUILTIN_AVR_INSERT_BITS=1",
|
||||
"__USQ_FBIT__=32",
|
||||
"__UINTPTR_MAX__=0xffffU",
|
||||
"__INT_FAST64_WIDTH__=64",
|
||||
"__DEC64_MIN_EXP__=(-382)",
|
||||
"__cpp_decltype=200707",
|
||||
"__FLT32_DECIMAL_DIG__=9",
|
||||
"__INT_FAST64_MAX__=0x7fffffffffffffffLL",
|
||||
"__GCC_ATOMIC_TEST_AND_SET_TRUEVAL=1",
|
||||
"__FLT_DIG__=6",
|
||||
"__UINT_FAST64_TYPE__=long long unsigned int",
|
||||
"__BUILTIN_AVR_BITSHK=1",
|
||||
"__BUILTIN_AVR_BITSHR=1",
|
||||
"__INT_MAX__=0x7fff",
|
||||
"__LACCUM_FBIT__=31",
|
||||
"__USACCUM_MIN__=0.0UHK",
|
||||
"__UHA_IBIT__=8",
|
||||
"__INT64_TYPE__=long long int",
|
||||
"__BUILTIN_AVR_BITSLK=1",
|
||||
"__BUILTIN_AVR_BITSLR=1",
|
||||
"__FLT_MAX_EXP__=128",
|
||||
"__UTQ_IBIT__=0",
|
||||
"__DBL_MANT_DIG__=24",
|
||||
"__cpp_inheriting_constructors=201511",
|
||||
"__BUILTIN_AVR_ULLKBITS=1",
|
||||
"__INT_LEAST64_MAX__=0x7fffffffffffffffLL",
|
||||
"__DEC64_MIN__=1E-383DD",
|
||||
"__WINT_TYPE__=int",
|
||||
"__UINT_LEAST32_TYPE__=long unsigned int",
|
||||
"__SIZEOF_SHORT__=2",
|
||||
"__ULLFRACT_IBIT__=0",
|
||||
"__LDBL_MIN_EXP__=(-125)",
|
||||
"__UDA_IBIT__=32",
|
||||
"__WINT_WIDTH__=16",
|
||||
"__INT_LEAST8_MAX__=0x7f",
|
||||
"__LFRACT_FBIT__=31",
|
||||
"__LDBL_MAX_10_EXP__=38",
|
||||
"__ATOMIC_RELAXED=0",
|
||||
"__DBL_EPSILON__=double(1.19209290e-7L)",
|
||||
"__BUILTIN_AVR_BITSUK=1",
|
||||
"__BUILTIN_AVR_BITSUR=1",
|
||||
"__UINT8_C(c)=c",
|
||||
"__INT_LEAST32_TYPE__=long int",
|
||||
"__BUILTIN_AVR_URBITS=1",
|
||||
"__SIZEOF_WCHAR_T__=2",
|
||||
"__LLFRACT_MAX__=0X7FFFFFFFFFFFFFFFP-63LLR",
|
||||
"__TQ_FBIT__=127",
|
||||
"__INT_FAST8_TYPE__=signed char",
|
||||
"__ULLACCUM_EPSILON__=0x1P-48ULLK",
|
||||
"__BUILTIN_AVR_ROUNDK=1",
|
||||
"__BUILTIN_AVR_ROUNDR=1",
|
||||
"__UHQ_IBIT__=0",
|
||||
"__LLACCUM_IBIT__=16",
|
||||
"__FLT32_EPSILON__=1.19209290e-7F32",
|
||||
"__DBL_DECIMAL_DIG__=9",
|
||||
"__STDC_UTF_32__=1",
|
||||
"__INT_FAST8_WIDTH__=8",
|
||||
"__DEC_EVAL_METHOD__=2",
|
||||
"__TA_FBIT__=47",
|
||||
"__UDQ_IBIT__=0",
|
||||
"__ORDER_BIG_ENDIAN__=4321",
|
||||
"__cpp_runtime_arrays=198712",
|
||||
"__WITH_AVRLIBC__=1",
|
||||
"__UINT64_TYPE__=long long unsigned int",
|
||||
"__ACCUM_EPSILON__=0x1P-15K",
|
||||
"__UINT32_C(c)=c ## UL",
|
||||
"__BUILTIN_AVR_COUNTLSUHK=1",
|
||||
"__INTMAX_MAX__=0x7fffffffffffffffLL",
|
||||
"__cpp_alias_templates=200704",
|
||||
"__BUILTIN_AVR_COUNTLSUHR=1",
|
||||
"__BYTE_ORDER__=__ORDER_LITTLE_ENDIAN__",
|
||||
"__FLT_DENORM_MIN__=1.40129846e-45F",
|
||||
"__LLFRACT_IBIT__=0",
|
||||
"__INT8_MAX__=0x7f",
|
||||
"__LONG_WIDTH__=32",
|
||||
"__UINT_FAST32_TYPE__=long unsigned int",
|
||||
"__CHAR32_TYPE__=long unsigned int",
|
||||
"__BUILTIN_AVR_COUNTLSULK=1",
|
||||
"__BUILTIN_AVR_COUNTLSULR=1",
|
||||
"__FLT_MAX__=3.40282347e+38F",
|
||||
"__cpp_constexpr=201304",
|
||||
"__USACCUM_FBIT__=8",
|
||||
"__BUILTIN_AVR_COUNTLSFX=1",
|
||||
"__INT32_TYPE__=long int",
|
||||
"__SIZEOF_DOUBLE__=4",
|
||||
"__FLT_MIN_10_EXP__=(-37)",
|
||||
"__UFRACT_EPSILON__=0x1P-16UR",
|
||||
"__INT_LEAST32_WIDTH__=32",
|
||||
"__BUILTIN_AVR_COUNTLSHK=1",
|
||||
"__BUILTIN_AVR_COUNTLSHR=1",
|
||||
"__INTMAX_TYPE__=long long int",
|
||||
"__BUILTIN_AVR_ABSLLK=1",
|
||||
"__BUILTIN_AVR_ABSLLR=1",
|
||||
"__DEC128_MAX_EXP__=6145",
|
||||
"__AVR_HAVE_16BIT_SP__=1",
|
||||
"__ATOMIC_CONSUME=1",
|
||||
"__GNUC_MINOR__=3",
|
||||
"__INT_FAST16_WIDTH__=16",
|
||||
"__UINTMAX_MAX__=0xffffffffffffffffULL",
|
||||
"__DEC32_MANT_DIG__=7",
|
||||
"__HA_FBIT__=7",
|
||||
"__BUILTIN_AVR_COUNTLSLK=1",
|
||||
"__BUILTIN_AVR_COUNTLSLR=1",
|
||||
"__BUILTIN_AVR_CLI=1",
|
||||
"__DBL_MAX_10_EXP__=38",
|
||||
"__LDBL_DENORM_MIN__=1.40129846e-45L",
|
||||
"__INT16_C(c)=c",
|
||||
"__cpp_generic_lambdas=201304",
|
||||
"__STDC__=1",
|
||||
"__PTRDIFF_TYPE__=int",
|
||||
"__LLFRACT_MIN__=(-0.5LLR-0.5LLR)",
|
||||
"__BUILTIN_AVR_LRBITS=1",
|
||||
"__ATOMIC_SEQ_CST=5",
|
||||
"__DA_FBIT__=31",
|
||||
"__UINT32_TYPE__=long unsigned int",
|
||||
"__BUILTIN_AVR_ROUNDLLK=1",
|
||||
"__UINTPTR_TYPE__=unsigned int",
|
||||
"__BUILTIN_AVR_ROUNDLLR=1",
|
||||
"__USA_IBIT__=16",
|
||||
"__BUILTIN_AVR_ULRBITS=1",
|
||||
"__DEC64_SUBNORMAL_MIN__=0.000000000000001E-383DD",
|
||||
"__DEC128_MANT_DIG__=34",
|
||||
"__LDBL_MIN_10_EXP__=(-37)",
|
||||
"__BUILTIN_AVR_COUNTLSUK=1",
|
||||
"__BUILTIN_AVR_COUNTLSUR=1",
|
||||
"__SIZEOF_LONG_LONG__=8",
|
||||
"__ULACCUM_EPSILON__=0x1P-32ULK",
|
||||
"__cpp_user_defined_literals=200809",
|
||||
"__SACCUM_IBIT__=8",
|
||||
"__GCC_ATOMIC_LLONG_LOCK_FREE=1",
|
||||
"__LDBL_DIG__=6",
|
||||
"__FLT_DECIMAL_DIG__=9",
|
||||
"__UINT_FAST16_MAX__=0xffffU",
|
||||
"__GCC_ATOMIC_SHORT_LOCK_FREE=1",
|
||||
"__BUILTIN_AVR_ABSHK=1",
|
||||
"__BUILTIN_AVR_FLASH_SEGMENT=1",
|
||||
"__INT_LEAST64_WIDTH__=64",
|
||||
"__ULLFRACT_MAX__=0XFFFFFFFFFFFFFFFFP-64ULLR",
|
||||
"__UINT_FAST8_TYPE__=unsigned char",
|
||||
"__USFRACT_EPSILON__=0x1P-8UHR",
|
||||
"__ULACCUM_FBIT__=32",
|
||||
"__QQ_IBIT__=0",
|
||||
"__cpp_init_captures=201304",
|
||||
"__ATOMIC_ACQ_REL=4",
|
||||
"__ATOMIC_RELEASE=3",
|
||||
"__BUILTIN_AVR_FMUL=1",
|
||||
"USBCON"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
File diff suppressed because one or more lines are too long
@ -0,0 +1,60 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Source Files">
|
||||
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
|
||||
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Header Files">
|
||||
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
|
||||
<Extensions>h;hh;hpp;hxx;hm;inl;inc;xsd</Extensions>
|
||||
</Filter>
|
||||
<Filter Include="Resource Files">
|
||||
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="2021_Arduino_Demo.ino" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="__vm\.2021_Arduino_Demo.vsarduino.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="__vm\.Arduino.vsarduino.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GlobalDatas.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="OpenMVOpt.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DebugOpt.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Handler.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="AccurateMotor.h">
|
||||
<Filter>Header Files</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="OpenMVOpt.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DebugOpt.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Handler.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GlobalDatas.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="AccurateMotor.cpp">
|
||||
<Filter>Source Files</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
</Project>
|
@ -0,0 +1,93 @@
|
||||
#include "AccurateMotor.h"
|
||||
|
||||
void AccurateMotorClass::Init()
|
||||
{
|
||||
car_running = false;
|
||||
}
|
||||
|
||||
void AccurateMotorClass::SetCarRunning()
|
||||
{
|
||||
AccurateMotor.car_running = true;
|
||||
}
|
||||
|
||||
void AccurateMotorClass::SetCarNotRunning()
|
||||
{
|
||||
AccurateMotor.car_running = false;
|
||||
}
|
||||
|
||||
void AccurateMotorClass::TurnLeft(uint8_t degree)
|
||||
{
|
||||
if (car_running)
|
||||
return;
|
||||
DCMotor.TurnLeft(car_speed, car_speed);
|
||||
SetCarRunning();
|
||||
MsTimer2::set(degree * 50, []()
|
||||
{
|
||||
{
|
||||
DCMotor.Stop();
|
||||
SetCarNotRunning();
|
||||
}
|
||||
});
|
||||
MsTimer2::start();
|
||||
}
|
||||
|
||||
void AccurateMotorClass::TurnRight(uint8_t degree)
|
||||
{
|
||||
if (car_running)
|
||||
return;
|
||||
DCMotor.TurnRight(car_speed, car_speed);
|
||||
SetCarRunning();
|
||||
MsTimer2::set(degree * 50, []()
|
||||
{
|
||||
{
|
||||
DCMotor.Stop();
|
||||
SetCarNotRunning();
|
||||
}
|
||||
});
|
||||
MsTimer2::start();
|
||||
}
|
||||
|
||||
void AccurateMotorClass::RunForward(uint8_t distence)
|
||||
{
|
||||
if (car_running)
|
||||
return;
|
||||
DCMotor.Go(car_speed);
|
||||
SetCarRunning();
|
||||
MsTimer2::set(distence * 100, []()
|
||||
{
|
||||
{
|
||||
DCMotor.Stop();
|
||||
SetCarNotRunning();
|
||||
}
|
||||
});
|
||||
MsTimer2::start();
|
||||
}
|
||||
|
||||
bool AccurateMotorClass::IsCarRunning()
|
||||
{
|
||||
return car_running;
|
||||
}
|
||||
|
||||
void AccurateMotorClass::DelayUntilCarStop()
|
||||
{
|
||||
while (car_running)
|
||||
delay(10);
|
||||
}
|
||||
|
||||
void AccurateMotorClass::RunBackward(uint8_t distence)
|
||||
{
|
||||
if (car_running)
|
||||
return;
|
||||
DCMotor.Back(car_speed);
|
||||
SetCarRunning();
|
||||
MsTimer2::set(distence * 100, []()
|
||||
{
|
||||
{
|
||||
DCMotor.Stop();
|
||||
SetCarNotRunning();
|
||||
}
|
||||
});
|
||||
MsTimer2::start();
|
||||
}
|
||||
|
||||
AccurateMotorClass AccurateMotor;
|
@ -0,0 +1,50 @@
|
||||
#ifndef __DEBUG_OPT__
|
||||
#define __DEBUG_OPT_
|
||||
|
||||
#include <ExtSRAMInterface.h>
|
||||
#include "AccurateMotor.h"
|
||||
#include "GlobalDatas.h"
|
||||
#include <BKRC_Voice.h>
|
||||
#include "OpenMVOpt.h"
|
||||
#include <Infrare.h>
|
||||
#include <CoreLED.h>
|
||||
#include <Command.h>
|
||||
#include <BEEP.h>
|
||||
#include <LED.h>
|
||||
|
||||
namespace DebugOpt
|
||||
{
|
||||
//LED流水灯计数器
|
||||
extern uint8_t led_flow_cnt;
|
||||
//道闸测试指令
|
||||
extern uint8_t open_road_buf[8];
|
||||
//语音播报测试指令
|
||||
extern uint8_t voive_test_buf[9];
|
||||
//语音识别测试指令
|
||||
extern uint8_t voice_trm_buf[8];
|
||||
//红外测试指令
|
||||
extern uint8_t ir_repo_buf[6];
|
||||
|
||||
//LED流水灯
|
||||
void DoLEDFlow();
|
||||
|
||||
//电机运行测试
|
||||
void DebugRun();
|
||||
|
||||
//舵机运行测试
|
||||
void DebugServo();
|
||||
|
||||
//道闸开启测试
|
||||
void Road_Gate_Test();
|
||||
|
||||
//语音播报测试
|
||||
void Speech_Sounds_Ctr();
|
||||
|
||||
//语音识别测试
|
||||
void Speech_Disc();
|
||||
|
||||
//红外发送测试
|
||||
void Infrared_Test();
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,41 @@
|
||||
#include "GlobalDatas.h"
|
||||
|
||||
uint8_t GarageB_To1[8] = { 0x55,0x05,0x01,0x01,0x00,0x00,0x02,0xBB }; // 立体车库B 到达第一层
|
||||
uint8_t GarageB_To2[8] = { 0x55,0x05,0x01,0x02,0x00,0x00,0x03,0xBB }; // 立体车库B 到达第二层
|
||||
uint8_t GarageB_To3[8] = { 0x55,0x05,0x01,0x03,0x00,0x00,0x04,0xBB }; // 立体车库B 到达第三层
|
||||
uint8_t GarageB_To4[8] = { 0x55,0x05,0x01,0x04,0x00,0x00,0x05,0xBB }; // 立体车库B 到达第四层
|
||||
|
||||
uint8_t TrafficA_Open[8] = { 0x55,0x0E,0x01,0x00,0x00,0x00,0x01,0xBB }; // 智能交通灯A 进入识别模式 进入识别模式
|
||||
uint8_t TrafficA_Red[8] = { 0x55,0x0E,0x02,0x01,0x00,0x00,0x03,0xBB }; // 智能交通灯A 识别结果为红色请求确认
|
||||
uint8_t TrafficA_Green[8] = { 0x55,0x0E,0x02,0x02,0x00,0x00,0x04,0xBB }; // 智能交通灯A 识别结果为绿色请求确认
|
||||
uint8_t TrafficA_Yellow[8] = { 0x55,0x0E,0x02,0x03,0x00,0x00,0x05,0xBB }; // 智能交通灯A 识别结果为黄色请求确认
|
||||
|
||||
uint8_t Gate_Open[8] = { 0x55,0x03,0x01,0x01,0x00,0x00,0x02,0xBB }; // 道闸 开启
|
||||
|
||||
uint8_t Light_plus1[4] = { 0x00,0xFF,0x0C,~(0x0C) }; // 智能路灯 光源挡位加1
|
||||
uint8_t Light_plus2[4] = { 0x00,0xFF,0x18,~(0x18) }; // 智能路灯 光源挡位加2
|
||||
uint8_t Light_plus3[4] = { 0x00,0xFF,0x5E,~(0x5E) }; // 智能路灯 光源挡位加3
|
||||
|
||||
uint8_t SEG_TimOpen[8] = { 0x55,0x04,0x03,0x01,0x00,0x00,0x04,0xBB }; // LED显示 计时开启
|
||||
uint8_t SMG_TimClose[8] = { 0x55,0x04,0x03,0x00,0x00,0x00,0x03,0xBB }; // LED显示 计时关闭
|
||||
|
||||
uint8_t ZigBee_back[16] = { 0x55, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
|
||||
|
||||
uint8_t qrdi_buf[8] = { 0x55,0x02,0x92,0x00,0x00,0x00,0x00,0xBB }; // 给OpenMV发送识别二维码
|
||||
|
||||
uint8_t trackdi_buf[8] = { 0x55,0x02,0x91,0x00,0x00,0x00,0x00,0xBB }; //OpenMV循迹指令
|
||||
|
||||
uint8_t servo_buf[8] = { 0x55,0x02,0x91,0x03,0x00,0x00,0x00,0xBB }; // 给OpenMV发送舵机角度
|
||||
|
||||
//全局变量
|
||||
uint8_t ATM_Data[ATM_Data_Length];
|
||||
uint8_t ZigBee_command[8];
|
||||
uint8_t ZigBee_judge;
|
||||
uint8_t infrare_com[6];
|
||||
uint8_t sendflag;
|
||||
unsigned long frisrtime;
|
||||
unsigned long Tcount;
|
||||
uint8_t Data_Type;
|
||||
uint8_t Data_Flag;
|
||||
uint8_t Data_Length;
|
||||
uint8_t Data_OTABuf[40];
|
@ -0,0 +1,48 @@
|
||||
#ifndef __GLOBAL_DATAS__
|
||||
#define __GLOBAL_DATAS__
|
||||
#include <Wire.h>
|
||||
|
||||
#define TSendCycle 200
|
||||
#define ATM_Data_Length 48
|
||||
|
||||
extern uint8_t GarageB_To1[8]; // 立体车库B 到达第一层
|
||||
extern uint8_t GarageB_To2[8]; // 立体车库B 到达第二层
|
||||
extern uint8_t GarageB_To3[8]; // 立体车库B 到达第三层
|
||||
extern uint8_t GarageB_To4[8]; // 立体车库B 到达第四层
|
||||
|
||||
extern uint8_t TrafficA_Open[8]; // 智能交通灯A 进入识别模式 进入识别模式
|
||||
extern uint8_t TrafficA_Red[8]; // 智能交通灯A 识别结果为红色请求确认
|
||||
extern uint8_t TrafficA_Green[8]; // 智能交通灯A 识别结果为绿色请求确认
|
||||
extern uint8_t TrafficA_Yellow[8]; // 智能交通灯A 识别结果为黄色请求确认
|
||||
|
||||
extern uint8_t Gate_Open[8]; // 道闸 开启
|
||||
|
||||
extern uint8_t Light_plus1[4]; // 智能路灯 光源挡位加1
|
||||
extern uint8_t Light_plus2[4]; // 智能路灯 光源挡位加2
|
||||
extern uint8_t Light_plus3[4]; // 智能路灯 光源挡位加3
|
||||
|
||||
extern uint8_t SEG_TimOpen[8]; // LED显示 计时开启
|
||||
extern uint8_t SMG_TimClose[8]; // LED显示 计时关闭
|
||||
|
||||
extern uint8_t ZigBee_back[16];
|
||||
|
||||
extern uint8_t qrdi_buf[8]; // 给OpenMV发送识别二维码
|
||||
|
||||
extern uint8_t trackdi_buf[8]; //OpenMV循迹指令
|
||||
|
||||
extern uint8_t servo_buf[8]; // 给OpenMV发送舵机角度
|
||||
|
||||
//全局变量
|
||||
extern uint8_t ATM_Data[ATM_Data_Length];
|
||||
extern uint8_t ZigBee_command[8];
|
||||
extern uint8_t ZigBee_judge;
|
||||
extern uint8_t infrare_com[6];
|
||||
extern uint8_t sendflag;
|
||||
extern unsigned long frisrtime;
|
||||
extern unsigned long Tcount;
|
||||
extern uint8_t Data_Type;
|
||||
extern uint8_t Data_Flag;
|
||||
extern uint8_t Data_Length;
|
||||
extern uint8_t Data_OTABuf[40];
|
||||
|
||||
#endif
|
@ -0,0 +1,30 @@
|
||||
#ifndef __HANDLER__
|
||||
#define __HANDLER__
|
||||
|
||||
#include "GlobalDatas.h"
|
||||
#include "DebugOpt.h"
|
||||
|
||||
namespace Handler
|
||||
{
|
||||
//ZigBee信息接收处理
|
||||
void ZigBeeRx_Handler(uint8_t* mar);
|
||||
|
||||
//OpenMV信息接收处理
|
||||
void OpenMVRx_Handler(uint8_t* mac);
|
||||
|
||||
//主车指令接收处理
|
||||
void MainCarRx_Handler(uint8_t* com);
|
||||
|
||||
//按键事件处理函数 - 0
|
||||
void Key_0();
|
||||
//按键事件处理函数 - 1
|
||||
void Key_1();
|
||||
//按键事件处理函数 - 2
|
||||
void Key_2();
|
||||
//按键事件处理函数 - 3
|
||||
void Key_3();
|
||||
//按键接收处理
|
||||
void KEY_Handler(uint8_t k_value);
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,167 @@
|
||||
#include "OpenMVOpt.h"
|
||||
|
||||
uint8_t OpenMVOpt::Data_OpenMVBuf[8] = { 0 };
|
||||
|
||||
void OpenMVOpt::AdjustCarPosition(uint8_t Car_Speed)
|
||||
{
|
||||
if (Data_OpenMVBuf[6] <= 5) // 车身正无需校准
|
||||
{
|
||||
if (Data_OpenMVBuf[5] == 43) // + 向左调
|
||||
{
|
||||
DCMotor.SpeedCtr(Car_Speed, Car_Speed);
|
||||
}
|
||||
else if (Data_OpenMVBuf[5] == 45) // - 向右调
|
||||
{
|
||||
DCMotor.SpeedCtr(Car_Speed, Car_Speed);
|
||||
}
|
||||
}
|
||||
else if (Data_OpenMVBuf[6] <= 15) // 车身微偏
|
||||
{
|
||||
if (Data_OpenMVBuf[5] == 43) // + 向左调
|
||||
{
|
||||
DCMotor.SpeedCtr(20, 50);
|
||||
}
|
||||
else if (Data_OpenMVBuf[5] == 45) // - 向右调
|
||||
{
|
||||
DCMotor.SpeedCtr(50, 20);
|
||||
}
|
||||
}
|
||||
else if (Data_OpenMVBuf[6] <= 25)
|
||||
{
|
||||
|
||||
if (Data_OpenMVBuf[5] == 43) // + 向左调
|
||||
{
|
||||
DCMotor.SpeedCtr(10, 50);
|
||||
}
|
||||
else if (Data_OpenMVBuf[5] == 45) // - 向右调
|
||||
{
|
||||
DCMotor.SpeedCtr(50, 10);
|
||||
}
|
||||
}
|
||||
else if (Data_OpenMVBuf[6] <= 35)
|
||||
{
|
||||
|
||||
if (Data_OpenMVBuf[5] == 43) // + 向左调
|
||||
{
|
||||
DCMotor.SpeedCtr(5, 50);
|
||||
}
|
||||
else if (Data_OpenMVBuf[5] == 45) // - 向右调
|
||||
{
|
||||
DCMotor.SpeedCtr(50, 5);
|
||||
}
|
||||
}
|
||||
else if (Data_OpenMVBuf[6] <= 50)
|
||||
{
|
||||
|
||||
if (Data_OpenMVBuf[5] == 43) // + 向左调
|
||||
{
|
||||
DCMotor.SpeedCtr(0, 40);
|
||||
}
|
||||
else if (Data_OpenMVBuf[5] == 45) // - 向右调
|
||||
{
|
||||
DCMotor.SpeedCtr(40, 0);
|
||||
}
|
||||
}
|
||||
else if (Data_OpenMVBuf[6] <= 70)
|
||||
{
|
||||
|
||||
if (Data_OpenMVBuf[5] == 43) // + 向左调
|
||||
{
|
||||
DCMotor.SpeedCtr(-5, 30);
|
||||
}
|
||||
else if (Data_OpenMVBuf[5] == 45) // - 向右调
|
||||
{
|
||||
DCMotor.SpeedCtr(30, -5);
|
||||
}
|
||||
}
|
||||
else if (Data_OpenMVBuf[6] > 70)
|
||||
{
|
||||
|
||||
if (Data_OpenMVBuf[5] == 43) // + 向左调
|
||||
{
|
||||
DCMotor.SpeedCtr(-10, 20);
|
||||
}
|
||||
else if (Data_OpenMVBuf[5] == 45) // - 向右调
|
||||
{
|
||||
DCMotor.SpeedCtr(20, -10);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OpenMVOpt::OpenMVTrack_Disc_StartUp()
|
||||
{
|
||||
trackdi_buf[3] = 0x01; //开始识别
|
||||
Command.Judgment(trackdi_buf); //计算校验和
|
||||
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, trackdi_buf, 8);
|
||||
}
|
||||
|
||||
void OpenMVOpt::OpenMVTrack_Disc_CloseUp()
|
||||
{
|
||||
trackdi_buf[3] = 0x02; //关闭识别
|
||||
Command.Judgment(trackdi_buf); //计算校验和
|
||||
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, trackdi_buf, 8);
|
||||
}
|
||||
|
||||
void OpenMVOpt::OpenMV_Track(uint8_t Car_Speed)
|
||||
{
|
||||
uint32_t num = 0;
|
||||
Car_Speed = 50;
|
||||
// 清空串口缓存
|
||||
while (ExtSRAMInterface.ExMem_Read(0x6038) != 0x00)
|
||||
ExtSRAMInterface.ExMem_Read_Bytes(0x6038, Data_OpenMVBuf, 1);
|
||||
OpenMVTrack_Disc_StartUp();
|
||||
delay(500);
|
||||
DCMotor.SpeedCtr(Car_Speed, Car_Speed);
|
||||
Serial.println("Video Track Start.");
|
||||
while (1)
|
||||
{
|
||||
delay(10); //增加延迟防止卡死
|
||||
if (ExtSRAMInterface.ExMem_Read(0x6038) != 0x00) //检测OpenMV识别结果
|
||||
{
|
||||
ExtSRAMInterface.ExMem_Read_Bytes(0x6038, Data_OpenMVBuf, 8);
|
||||
if ((Data_OpenMVBuf[0] == 0x55) && (Data_OpenMVBuf[1] == 0x02) && (Data_OpenMVBuf[2] == 0x91))
|
||||
{
|
||||
num++;
|
||||
Serial.println(num);
|
||||
if (Data_OpenMVBuf[4] == 1) // 路口
|
||||
{
|
||||
DCMotor.Stop();
|
||||
OpenMVTrack_Disc_CloseUp();
|
||||
break;
|
||||
}
|
||||
else // 调整
|
||||
AdjustCarPosition(Car_Speed);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void OpenMVOpt::OpenMVQr_Disc_StartUp()
|
||||
{
|
||||
qrdi_buf[3] = 0x01; //开始识别
|
||||
Command.Judgment(qrdi_buf); //计算校验和
|
||||
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, qrdi_buf, 8);
|
||||
}
|
||||
|
||||
void OpenMVOpt::OpenMVQr_Disc_CloseUp()
|
||||
{
|
||||
qrdi_buf[3] = 0x02; //关闭识别
|
||||
Command.Judgment(qrdi_buf); //计算校验和
|
||||
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, qrdi_buf, 8);
|
||||
}
|
||||
|
||||
void OpenMVOpt::Servo_Control(int8_t angle)
|
||||
{
|
||||
if (angle >= 0)
|
||||
{
|
||||
servo_buf[4] = 0x2B;
|
||||
}
|
||||
else
|
||||
{
|
||||
servo_buf[4] = 0x2D;
|
||||
}
|
||||
servo_buf[5] = abs(angle); //开始识别
|
||||
Command.Judgment(servo_buf); //计算校验和
|
||||
ExtSRAMInterface.ExMem_Write_Bytes(0x6008, servo_buf, 8);
|
||||
delay(1000);
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
#ifndef __OPENMV_OPT__
|
||||
#define __OPENMV_OPT__
|
||||
|
||||
#include <ExtSRAMInterface.h>
|
||||
#include "GlobalDatas.h"
|
||||
#include <DCMotor.h>
|
||||
#include <Command.h>
|
||||
|
||||
namespace OpenMVOpt
|
||||
{
|
||||
extern uint8_t Data_OpenMVBuf[8];
|
||||
|
||||
//车身姿态调整
|
||||
void AdjustCarPosition(uint8_t Car_Speed);
|
||||
|
||||
//启动视频循迹
|
||||
void OpenMVTrack_Disc_StartUp();
|
||||
//停止视频循迹
|
||||
void OpenMVTrack_Disc_CloseUp();
|
||||
//循迹(到下一路口)
|
||||
void OpenMV_Track(uint8_t Car_Speed);
|
||||
|
||||
//启动二维码识别
|
||||
void OpenMVQr_Disc_StartUp();
|
||||
//停止二维码识别
|
||||
void OpenMVQr_Disc_CloseUp();
|
||||
|
||||
//舵机角度控制
|
||||
void Servo_Control(int8_t angle);
|
||||
};
|
||||
|
||||
#endif
|
@ -0,0 +1,93 @@
|
||||
/*
|
||||
Editor: https://www.visualmicro.com/
|
||||
This file is for intellisense purpose only.
|
||||
Visual micro (and the arduino ide) ignore this code during compilation. This code is automatically maintained by visualmicro, manual changes to this file will be overwritten
|
||||
The contents of the _vm sub folder can be deleted prior to publishing a project
|
||||
All non-arduino files created by visual micro and all visual studio project or solution files can be freely deleted and are not required to compile a sketch (do not delete your own code!).
|
||||
Note: debugger breakpoints are stored in '.sln' or '.asln' files, knowledge of last uploaded breakpoints is stored in the upload.vmps.xml file. Both files are required to continue a previous debug session without needing to compile and upload again
|
||||
|
||||
Hardware: ATmega2560 (Mega 2560) (Arduino Mega) (mega_atmega2560), Platform=avr, Package=arduino
|
||||
*/
|
||||
|
||||
#if defined(_VMICRO_INTELLISENSE)
|
||||
|
||||
#ifndef _VSARDUINO_H_
|
||||
#define _VSARDUINO_H_
|
||||
#define __AVR_atmega2560__ 1
|
||||
#define __AVR_ATmega2560__ 1
|
||||
#define F_CPU 16000000L
|
||||
#define ARDUINO 108010
|
||||
#define ARDUINO_AVR_MEGA2560 1
|
||||
#define ARDUINO_ARCH_AVR 1
|
||||
#define __cplusplus 201103L
|
||||
#define _Pragma(x)
|
||||
#define __AVR__
|
||||
#define __inline__
|
||||
#define __asm__(...)
|
||||
#define __extension__
|
||||
#define __inline__
|
||||
#define __volatile__
|
||||
// Redefine __cplusplus to correct version: https://www.visualmicro.com/forums/YaBB.pl?num=1592217268
|
||||
#undef __cplusplus
|
||||
#define __cplusplus 201103L
|
||||
|
||||
//#define GCC_VERSION 40902
|
||||
//https://www.visualmicro.com/forums/YaBB.pl?num=1569762585/5#5
|
||||
#define __GNUC__ 5
|
||||
#define __GNUC_MINOR__ 4
|
||||
#define __GNUC_PATCHLEVEL__ 0
|
||||
#define GCC_VERSION ((__GNUC__*10000)+(__GNUC_MINOR__*100)+__GNUC_PATCHLEVEL__))
|
||||
|
||||
|
||||
#define volatile(va_arg)
|
||||
#define _CONST
|
||||
#define __builtin_va_start
|
||||
#define __builtin_va_end
|
||||
#define __attribute__(...)
|
||||
#define NOINLINE __attribute__((noinline))
|
||||
#define prog_void
|
||||
#define PGM_VOID_P int
|
||||
|
||||
|
||||
#ifndef __builtin_constant_p
|
||||
#define __builtin_constant_p __attribute__((__const__))
|
||||
#endif
|
||||
#ifndef __builtin_strlen
|
||||
#define __builtin_strlen __attribute__((__const__))
|
||||
#endif
|
||||
|
||||
|
||||
#define NEW_H
|
||||
typedef void *__builtin_va_list;
|
||||
//extern "C" void __cxa_pure_virtual() {;}
|
||||
|
||||
typedef int div_t;
|
||||
typedef int ldiv_t;
|
||||
|
||||
|
||||
typedef void *__builtin_va_list;
|
||||
//extern "C" void __cxa_pure_virtual() {;}
|
||||
|
||||
|
||||
|
||||
#include <arduino.h>
|
||||
#include <pins_arduino.h>
|
||||
//#undef F
|
||||
//#define F(string_literal) ((const PROGMEM char *)(string_literal))
|
||||
#undef PSTR
|
||||
#define PSTR(string_literal) ((const PROGMEM char *)(string_literal))
|
||||
|
||||
//typedef unsigned char uint8_t;
|
||||
//typedef unsigned int uint8_t;
|
||||
|
||||
#define pgm_read_byte_near(address_short) uint8_t()
|
||||
#define pgm_read_byte(address_short) uint8_t()
|
||||
#define pgm_read_word(address_short) uint16_t()
|
||||
#define pgm_read_dword(address_short) uint32_t()
|
||||
#define pgm_read_float(address_short) float()
|
||||
#define pgm_read_ptr(address_short) short()
|
||||
|
||||
#include "2021_Arduino_Demo.ino"
|
||||
#include "OpenMV_Track.ino"
|
||||
#endif
|
||||
#endif
|
@ -0,0 +1,92 @@
|
||||
/*
|
||||
Editor: https://www.visualmicro.com/
|
||||
This file is for intellisense purpose only.
|
||||
Visual micro (and the arduino ide) ignore this code during compilation. This code is automatically maintained by visualmicro, manual changes to this file will be overwritten
|
||||
The contents of the _vm sub folder can be deleted prior to publishing a project
|
||||
All non-arduino files created by visual micro and all visual studio project or solution files can be freely deleted and are not required to compile a sketch (do not delete your own code!).
|
||||
Note: debugger breakpoints are stored in '.sln' or '.asln' files, knowledge of last uploaded breakpoints is stored in the upload.vmps.xml file. Both files are required to continue a previous debug session without needing to compile and upload again
|
||||
|
||||
Hardware: ATmega2560 (Mega 2560) (Arduino Mega) (mega_atmega2560), Platform=avr, Package=arduino
|
||||
*/
|
||||
|
||||
#if defined(_VMICRO_INTELLISENSE)
|
||||
|
||||
#ifndef _VSARDUINO_H_
|
||||
#define _VSARDUINO_H_
|
||||
#define __AVR_atmega2560__ 1
|
||||
#define __AVR_ATmega2560__ 1
|
||||
#define F_CPU 16000000L
|
||||
#define ARDUINO 108010
|
||||
#define ARDUINO_AVR_MEGA2560 1
|
||||
#define ARDUINO_ARCH_AVR 1
|
||||
#define __cplusplus 201103L
|
||||
#define _Pragma(x)
|
||||
#define __AVR__
|
||||
#define __inline__
|
||||
#define __asm__(...)
|
||||
#define __extension__
|
||||
#define __inline__
|
||||
#define __volatile__
|
||||
// Redefine __cplusplus to correct version: https://www.visualmicro.com/forums/YaBB.pl?num=1592217268
|
||||
#undef __cplusplus
|
||||
#define __cplusplus 201103L
|
||||
|
||||
//#define GCC_VERSION 40902
|
||||
//https://www.visualmicro.com/forums/YaBB.pl?num=1569762585/5#5
|
||||
#define __GNUC__ 5
|
||||
#define __GNUC_MINOR__ 4
|
||||
#define __GNUC_PATCHLEVEL__ 0
|
||||
#define GCC_VERSION ((__GNUC__*10000)+(__GNUC_MINOR__*100)+__GNUC_PATCHLEVEL__))
|
||||
|
||||
|
||||
#define volatile(va_arg)
|
||||
#define _CONST
|
||||
#define __builtin_va_start
|
||||
#define __builtin_va_end
|
||||
#define __attribute__(...)
|
||||
#define NOINLINE __attribute__((noinline))
|
||||
#define prog_void
|
||||
#define PGM_VOID_P int
|
||||
|
||||
|
||||
#ifndef __builtin_constant_p
|
||||
#define __builtin_constant_p __attribute__((__const__))
|
||||
#endif
|
||||
#ifndef __builtin_strlen
|
||||
#define __builtin_strlen __attribute__((__const__))
|
||||
#endif
|
||||
|
||||
|
||||
#define NEW_H
|
||||
typedef void *__builtin_va_list;
|
||||
//extern "C" void __cxa_pure_virtual() {;}
|
||||
|
||||
typedef int div_t;
|
||||
typedef int ldiv_t;
|
||||
|
||||
|
||||
typedef void *__builtin_va_list;
|
||||
//extern "C" void __cxa_pure_virtual() {;}
|
||||
|
||||
|
||||
|
||||
#include <arduino.h>
|
||||
#include <pins_arduino.h>
|
||||
//#undef F
|
||||
//#define F(string_literal) ((const PROGMEM char *)(string_literal))
|
||||
#undef PSTR
|
||||
#define PSTR(string_literal) ((const PROGMEM char *)(string_literal))
|
||||
|
||||
//typedef unsigned char uint8_t;
|
||||
//typedef unsigned int uint8_t;
|
||||
|
||||
#define pgm_read_byte_near(address_short) uint8_t()
|
||||
#define pgm_read_byte(address_short) uint8_t()
|
||||
#define pgm_read_word(address_short) uint16_t()
|
||||
#define pgm_read_dword(address_short) uint32_t()
|
||||
#define pgm_read_float(address_short) float()
|
||||
#define pgm_read_ptr(address_short) short()
|
||||
|
||||
#include "2021_Arduino_Demo.ino"
|
||||
#endif
|
||||
#endif
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue