我是考虑的扫码停顿
1
18852935127
@18852935127
0
声望
14
楼层
1013
资料浏览
1
粉丝
1
关注
18852935127 发布的帖子
-
RE: Openmv通讯问题,两个模块不能通讯,但是stm32或openmv单独与电脑可以通讯。
import sensor, image, time,json
from pyb import UART
sensor.reset()
sensor.set_pixformat(sensor.GRAYSCALE)
sensor.set_framesize(sensor.VGA)
sensor.set_windowing((240, 240))
sensor.skip_frames(30)
sensor.set_auto_gain(False) # must turn this off to prevent image washout...
clock = time.clock()uart = UART(3, 115200)
while(True):
img = sensor.snapshot() # Take a picture and return the image.
for code in img.find_qrcodes():
output_str = code[4]
print(output_str,'\r')
uart.write(output_str+'\r')
uart.write('\n') #上面没办法加\n这边特地多加了(\n)不加不行的。 -
RE: Openmv通讯问题,两个模块不能通讯,但是stm32或openmv单独与电脑可以通讯。
需要在openmv程序里加一个\r\n。你输入\n看着是换行了,其实不然。我把程序贴出来可以参考一下我的解决办法。
-
RE: Openmv通讯问题,两个模块不能通讯,但是stm32或openmv单独与电脑可以通讯。
@15536895760
重新打了一遍,第一次贴程序。。。不会弄#include "led.h" #include "delay.h" #include "key.h" #include "sys.h" #include "usart.h" #include "string.h" #include "stdlib.h" #include "stm32f10x.h" #include "beep.h" int main(void) { u16 len; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组及优先级 uart_init(115200); //串口初始化为115200 LED_Init(); //LED端口初始化 KEY_Init(); //初始化与按键连接的硬件接口 while(1) { if(USART_RX_STA&0x8000) { len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度 printf("接收的字符:%s\n",USART_RX_BUF); //打印接收字符 printf(" 字符的长度:%d\n",len); //打印字符长度 for(;strcmp((const char*)USART_RX_BUF,"001")==0;) //通讯控制指令字符 001 判断 //strcmp 包含头文件#include "string.h" { printf("响0.5s");//打印灯灭 LED_OFF(); break; } for(;strcmp((const char*)USART_RX_BUF,"002")==0;) //通讯控制指令字符 002 判断 { printf("响1.0s"); //打印灯灭 闪烁 //这步图片没有放出来 LED_ON(); break; } memset(USART_RX_BUF,0,sizeof(USART_RX_BUF)); // 清空字符否则数据过长会造成混乱-> >#include "stdlib.h" USART_RX_STA=0; } }
}