电赛常见模块问题

1、openmv 模块(星瞳)

参考使用手册,这里注意的是阈值的选取以及常见的标点符号等低级错误,占用一个串口。

2、舵机(三根线:信号线 电源线、地线)

  • 供电问题,pwm(定时器)要初始化端口,初始化可以只进行一次,放在while(1)之前使用
  • 舵机的周期要是20ms即50hz
  • 占空比要改引脚(高电平、低电平持续时间)
  • 每个舵机动作后面都要加延时,否则的话舵机会没有时间转过去

3、PWM

TIM_SetCompare1(TIM4,pwm); 这里的pwm改变的是占空比

4、OLED(IIC通信)

IIC通信,软件模拟IIC 定义两个端口,再将 OLED初始化即可

5、增加串口

要记得改引脚,如果想用printf()函数,记得把.h文件里的fputc文件改一下,且把其他的串口中的fputc()注释掉;

6、定时器

  • TIM5_Int_Init(500,8400);定时器时钟84M,分频系数8400,所以时钟频率84M/8400=10KHZ,500代表计数500次,即500ms
  • 注意中断服务函数中的清除中断标志位(如果不加此位,就会始终在中断服务程序中),可以把中断服务函数放前面

7、陀螺仪(MPU 6050)

  • 如果读取的ID号有问题,则将端口设置为开漏输出
  • 注意读取数据的时间要尽可能的短,否则则会有FIFO溢出问题
  • 使用的是IIC通信
  • 如果使用陀螺仪内部的终端的话,要占用一个32单片机的外部中断引脚
  • 指针相当于全局变量,要先给他一个地址,即先定义,&p代表的是P的地址,*p 代表取得是P的地址里的数

8、最低级的错误

主函数while(1):如果不加则主函数会一直循环执行无数次;若加了while(1),主函数只运行一次,则是告诉单片机程序还未结束,则会每隔一段时间进入定时器中断服务函数

9、蓝牙(相当于一个串口)

利用TTL转USB 设置波特率,密码然后插到板子的串口上,即可读数据

10、 STM32 四线下载口

VCC和USB不能同时给芯片供电,VCC指的是下载芯片给STM32板供电

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值