我是考虑的扫码停顿
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; } }
}
-
RE: Openmv通讯问题,两个模块不能通讯,但是stm32或openmv单独与电脑可以通讯。
好的,老师需要看一些什么参数?等放假结束回学校看一下。我这边传几张图片是自己测试的图。
-
RE: Openmv通讯问题,两个模块不能通讯,但是stm32或openmv单独与电脑可以通讯。
@kidswong999 STM32的单片机与电脑通讯时是可以的,openmv与电脑通讯时也是可以的。发送接收的字符串也是经过电脑测试过的。但是不用电脑通讯直接将两个模块链接起来好像就不行了。openmv是不是要设置其他什么通讯协议?各位前辈有做过通讯的能指点一二么?
-
Openmv通讯问题,两个模块不能通讯,但是stm32或openmv单独与电脑可以通讯。
请教大家一个问题
,Stm32f的单片机usart通讯程序已经写好了,电脑用串口助手发送“指定信息”可以让单片机实现预设功能。我使用的是openmv识别二维码功能(发送出的只是二维码内容,坐标什么已经被我去掉了)。电脑用串口助手也能正常运行,显示扫出来的内容,并且能把识别出的二维码信息发送给电脑。可是我将两个设备链接起来却不行了。(不知道是不是单片机没收到openmv的字符串)波特率一致的,我感觉一定是我搞错了,就是不知道有什么没注意到的地方。真心请教各位大神!