语音
用到的结构体是inputcommand.h
inputcommand中:“语音控制”加入指令控制工厂链表函数声明
mainpro中添加接口:
语音指令输入文件代码,这个文件里面的函数就要添加读取指令函数和初始化函数,初始化函数就是将串口打开然后设置相应波特率,读取指令函数需要注意的是在读取指令前需要将缓冲区初始化防止有乱码,读指令函数主要调用read函数进行指令的读取,在没有指令到来的时候,输出: over time。
编写语音模块是涉及到一些函数传参不是很扎实!
socket
socketcontrl.c可以以voicecontrl.c为基础写
inputcommand中:“语音控制”加入指令控制工厂链表函数声明
mainpro中添加接口
编译过程中经常出现类似报错(代码没问题):
原因是下图的两个写到struct InputCommander里去了
线程池的建立
一.语音线程
语音线程函数:
socket线程函数
二.socket线程
socketcontrl.c:
socket线程函数:(mainpro.c中)
1.起两个线程
2.创建这两个线程要调的函数
3.把voicecontrl 和socketcontrl结构体拿到main函数操作(通过findDeviceByName来找)
思路:
main函数进来 建立语音线程 开始语音监控 调用函数void_thread
void_thread :把voice相关的结构体找到。找到后调用初始化函数去打开串口,调用get_command函数去读取 读到的放到voiceHandler->command里
然后main函数里继续初始化socket线程:
sockethandler找出来,然后初始化,(已经开始监听),while(1)里不断accept,有数据接入创建新线程,读数据,放到socketHandler->command里,最终把数据拿出来