本教程使用的是stm32C8T6,k210要运行K210-AI(stm32_pico_arduino)里面的程序才能开始实验 stm32 *1 k210视角模块 1(要有sd卡(里面有带AI的模型)、摄像头) usb转ttl模块1
| stm32 | usb转ttl模块 |
|---|---|
| PA2 | RXD |
| GND | GND |
| STM32 | k210视角模块 |
|---|---|
| PA3 | TXD |
| GND | GND |
| VCC | 5V |
接线如图所示:


这样的接线,k210的RXD和usb转TTL的TXD是不用接的,实验没有用到。
xint main(){ //...... while(1) { if (k210_msg.class_n != 0)//例程号不为空 { if(k210_msg.class_n == 8)//是人脸识别 { sprintf(buff_com,"x=%d,y=%d,w=%d,h=%d\r\n",k210_msg.x,k210_msg.y,k210_msg.w,k210_msg.h); USART2_Send_ArrayU8((uint8_t*)buff_com,strlen(buff_com)); if(k210_msg.id == 'Y' || k210_msg.id == 'y') { sprintf(buff_com,"Yes\r\n"); USART2_Send_ArrayU8((uint8_t*)buff_com,strlen(buff_com)); } else { sprintf(buff_com,"NO\r\n"); USART2_Send_ArrayU8((uint8_t*)buff_com,strlen(buff_com)); } k210_msg.class_n = 0;//清除例程号 } } }}经过以上的程序,如果是跑这个例程,k210_msg结构体的成员就有对应的值,并通过串口打印处理
k210_msg:是接收信息的结构体,它的主要成员有
经过数据接收的函数并处理,k210_msg的每个成员都会存储到有效信息,如果想要二次开发,直接调用就k210_msg的成员就可以了


人脸识别只传输k210_msg的x,y,w,h,id这5个成员变量。 id:信息是内容为Y/N,Y:记录的人脸、N:不匹配的人脸