Openmv训练
1.循迹小车循迹小车,我这里使用openmv来实现图像识别功能,接下来我会通过对pid.py,car.py,main.py的文件进行一一阐释并如何使用,做出解释。
1.car.py定义openmv的引脚来来控制stm32,这里的openmv作为上位机,而stm32作为下位机接收信息传输来做出实际操作。1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859from pyb import Pin,Timerinverse_left = Falseinverse_right = False#推挽输出ain1 = Pin('P0',Pin.OUT_PP)ain2 = Pin('P1',Pin.OUT_PP)bin1 = Pin('P2',Pin.OUT_PP)bin2 = Pin('P3',Pin.OUT_PP)ain1.low()ain2.low()b ...
电赛训练代码hal库
缘由因为我在网上发现很多的相关代码的偶联性太大了,所以就有了分享一些独立模块的操作代码的想法。事不宜迟,我们开始吧。
1.UART 串口通信对于串口通信,我们通常用来调试代码是否正确,就用串口来调解的。于是,我想分享一个可以快速调节的代码,来帮助各位更好地调试自己的代码,我是用的是uart1,芯片是stm32f103c8t6的,对应的引脚是PB9,PB10。
1.UART 头文件我是将这些自定义的模块分开包装实现独立模块化,于是我建立一个单独的文件夹(Hardware)来放自己建立的独立模块。
然后我定义的这个模块名字叫”Debug”—-可以按照自己喜欢的方式定义,没有影响。12345678910#ifndef __DEBUG_H__#define __DEBUG_H__#include "main.h" /*这个是为了引入cubemx在main.h帮我们定义的一些文件,于是我们就不用重复定义了*/#define DEBUG_EN 1 //这个是为了解开在Debug.c的文件中DEBUG_EN 这个和我命名的文件无关哈void My_Printf(char *p ...