#include "asr.h" #include "setup.h" #include "myLib/luxiaoban.h" uint32_t snid; //{ID:250,keyword:"命令词",ASR:"最大音量",ASRTO:"音量调整到最大"} //{ID:251,keyword:"命令词",ASR:"中等音量",ASRTO:"音量调整到中等"} //{ID:252,keyword:"命令词",ASR:"最小音量",ASRTO:"音量调整到最小"} //{speak:云儿-温柔女声,vol:20,speed:10} //{playid:10001,voice:小鹿回来咯!} void ASR_CODE() { //{ID:500,keyword:"唤醒词",ASR:"小鹿开灯",ASRTO:"好的"} if(snid == 500){ luxiaoban_digital_write(0,1); } //{ID:501,keyword:"唤醒词",ASR:"小鹿关灯",ASRTO:"好的"} if(snid == 501){ luxiaoban_digital_write(0,0); } //{ID:502,keyword:"唤醒词",ASR:"打开走廊灯",ASRTO:"好的"} if(snid == 502){ luxiaoban_digital_write(1,0); } //{ID:503,keyword:"唤醒词",ASR:"关闭走廊灯",ASRTO:"好的"} if(snid == 503){ luxiaoban_digital_write(1,1); } //{ID:504,keyword:"唤醒词",ASR:"打开蓝灯",ASRTO:"好的"} if(snid == 504){ luxiaoban_digital_write(2,0); delay(500); luxiaoban_digital_write(2,1); } //{ID:505,keyword:"唤醒词",ASR:"关闭蓝灯",ASRTO:"好的"} if(snid == 505){ luxiaoban_digital_write(2,0); delay(500); luxiaoban_digital_write(2,1); } } void setup() { Serial.begin((9600)); }
时间: 2023-07-21 13:03:04 浏览: 68
这是一个 C++ 代码片段,其中包含了一些函数和条件语句。代码的功能是根据语音识别结果执行相应的操作。在`ASR_CODE`函数中,根据变量`snid`的值,判断执行不同的操作。例如,如果`snid`等于500,则执行`luxiaoban_digital_write(0,1)`,将某个设备的数字输入引脚设置为高电平。类似地,根据不同的条件,执行不同的操作。
在`setup`函数中,设置了串口通信的波特率为9600。
请问还有什么问题我可以帮您解答吗?
相关问题
cmake_minimum_required(VERSION 3.16) # 声明该项目的名称和版本号 project(MyLib VERSION 1.0) # 添加库代码文件到该库 add_library(mylib STATIC src/header.cpp) target_include_directories(mylib INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include> ) add_library(mylib_shared SHARED src/header.cpp) target_include_directories(mylib_shared INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include> ) # include_directories(include) # 指定install路径,以便于其他项目找到该库 install(TARGETS mylib mylib_shared EXPORT MyLibTargets ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin) install(FILES include/header.h DESTINATION include) # 生成MyLibConfig.cmake文件 include(CMakePackageConfigHelpers) write_basic_package_version_file( "${CMAKE_CURRENT_BINARY_DIR}/MyLibConfigVersion.cmake" VERSION ${MyLib_VERSION} COMPATIBILITY AnyNewerVersion ) configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/MyLibConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/MyLibConfig.cmake" INSTALL_DESTINATION cmake ) install( EXPORT MyLibTargets NAMESPACE MyLib:: DESTINATION cmake ) # export(EXPORT MyLibTargets # NAMESPACE MyLib:: # FILE MyLibTargets.cmake) # install(FILES ${CMAKE_CURRENT_BINARY_DIR}/MyLibTargets.cmake DESTINATION cmake) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/MyLibConfig.cmake" "${CMAKE_CURRENT_BINARY_DIR}/MyLibConfigVersion.cmake" DESTINATION cmake )为什么执行时,提醒/home/czl/cmake_lib/src/header.cpp:1:10: fatal error: header.h: 没有那个文件或目录
在你的 `CMakeLists.txt` 文件中,你已经将 `include/header.h` 安装到了 `include` 目录中,但是在 `add_library` 命令中没有将该目录添加到编译器的 include 路径中,所以编译器无法找到该头文件。
你可以将 `target_include_directories` 命令添加到 `add_library` 命令中,这样就可以将 `include` 目录添加到编译器的 include 路径中了。修改后的代码如下所示:
```cmake
cmake_minimum_required(VERSION 3.16)
project(MyLib VERSION 1.0)
# 添加库代码文件到该库
add_library(mylib STATIC src/header.cpp)
target_include_directories(mylib
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
add_library(mylib_shared SHARED src/header.cpp)
target_include_directories(mylib_shared
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
# 指定install路径,以便于其他项目找到该库
install(TARGETS mylib mylib_shared
EXPORT MyLibTargets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin)
install(FILES include/header.h DESTINATION include)
# 生成MyLibConfig.cmake文件
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/MyLibConfigVersion.cmake"
VERSION ${MyLib_VERSION}
COMPATIBILITY AnyNewerVersion
)
configure_package_config_file(
"${CMAKE_CURRENT_SOURCE_DIR}/MyLibConfig.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/MyLibConfig.cmake"
INSTALL_DESTINATION cmake
)
install(
EXPORT MyLibTargets
NAMESPACE MyLib::
DESTINATION cmake
)
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/MyLibConfig.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/MyLibConfigVersion.cmake"
DESTINATION cmake
)
```
注意,在这里,我们使用了 `PUBLIC` 修饰符,将 include 路径添加到了 `mylib` 和 `mylib_shared` 目标的 include 路径中,这样在编译 `mylib` 和 `mylib_shared` 时都可以找到 `include/header.h` 头文件。
arduino如何包含 <include.h>头文件
在 Arduino 中,包含头文件的方法与 C/C++ 相同,使用 `#include` 预处理指令即可。
假设你要包含一个名为 `myInclude.h` 的头文件,你可以在你的 Arduino 代码中加入以下语句:
```c++
#include <myInclude.h>
```
请注意,这里使用了尖括号 `<>` 而不是双引号 `""`。这是因为 `myInclude.h` 是一个系统级的库,而不是你自己编写的库。如果你要包含自己编写的库,应该使用双引号。
如果 `myInclude.h` 这个头文件不在系统级的库路径中,你需要在 Arduino IDE 中添加这个库的路径,否则编译时会出现找不到头文件的错误。你可以在 Arduino IDE 的菜单中选择“文件” -> “首选项”,在“附加开发板管理器网址”中添加库的路径。
例如,如果你的头文件在 `C:\Arduino\libraries\myLib` 目录下,你需要添加以下代码:
```c++
#include <myInclude.h> // 从系统级库目录中包含
#include "C:\\Arduino\\libraries\\myLib\\myInclude.h" // 从自定义库目录中包含
```
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![gz](https://img-home.csdnimg.cn/images/20210720083447.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)