- 博客(14)
- 资源 (9)
- 收藏
- 关注
原创 keil中显示expected expression
在keil中出现error:expected expression的错误,网上很多人都是在 Misc Cortrols这里改一下写c99就好了,但是我改过之后还是没好,依然报警告,后来我自己的看了一下,产生错误的原因很简单#define SCCB_READ_SDA PBin(11);原因就是宏定义后面带了分号,去掉分号再次编译就好了。...
2018-09-26 23:04:11 44793 11
原创 PWM调速的原理
PWM调速实质上是调节占空比,我们都是根据占空比的大小来衡量速度,但是为什么我们调节占空比就可以实现对速度的调节呢?这就需要我们了解调速的本质,我们用PWM调节速度问什么能够实现?我们就用L298来说一下,怎样实现调速的,我们都知道L298有两个电机控制使能端,分别为:ENA、ENB,最基本的实现电机的转动就是将两个使能端都给高电平,然后电机的两根控制线一个高一个低,电机就实现了转动,ENA、EN...
2018-09-23 09:32:28 28941 6
原创 STM32学习之路(八---MPU6050)
MPU6050六轴传感器,内部整合了3轴陀螺仪和3轴加速度传感器,并且含有一个第二IIC接口,可用于连接外部磁力传感器,并且用自带的数字运动处理器(DMP)硬件加速引擎,通过IIC接口,向应用端输出完整的9轴融合演算数据。MPU6050的特点:1、以数字形式输出6轴或9轴的旋转矩阵、四元数、欧拉角格式的融合演算数据2、具有131LSBs/ /sec敏感度与全格感测范围为±250、±500等3...
2018-09-19 22:22:17 1604
原创 STM32学习之路(七---红外遥控)
红外遥控是一种无线、非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低。红外遥控不具有穿过障碍物去控制对象的能力。我们所学的是NEC协议的,其特征有:1、 8位地址和8位指令长度2、 地址和命令2次传输(确保可靠性)3、 PWM脉冲位置调制,以发射红外载波的占空比代表“0”和“1”4、 载波频率为38KHZ5、 位时间为1.125ms或2.25msNEC码的位定义:一个脉冲对应56...
2018-09-19 17:35:26 2307
原创 STM32学习之路(六---SPI)
SPI是串行外围设备接口,主要应用在EEPROM、FLASH,实时时钟,AD转换,还有数字信号处理器和数字信号解码器之间。它是一种高速的,全双工,同步的通信总线,并且在芯片上只用四根线,节约芯片的管脚。M代表主机,I代表输入,S代表从机,O代表输出。SPI主要特点有:可以同时发送和接收串行数据;可以当做主机或从机工作;提供频率可编程时钟;发送结束中断标志等。CPHA=1,在串行时钟的第二个...
2018-09-19 10:47:37 1337
原创 STM32学习之路(四--DMA)
DMA即直接存储器访问,DMA传输是将数据从一个地址空间复制到另一个地址空间。DMA传输方式无需CPU直接控制传输,也没有中断处理方式那样保留现场和恢复现场的过程。STM32的DMA有以下一些特征:1、每一个通道都直接连接专用的硬件DMA请求,每一个通道都同样支持软件触发。这些功能通过软件来配置2、在七个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中、低),优先级相同的话就由硬件...
2018-09-18 21:31:39 561
原创 STM32学习之路(三--PWM)
STM32的PWM是由定时器产生的,而且产生PWM的通道特别多,PWM其实就是对脉冲宽度的控制。PWM的用处有很多可以用来调节灯的亮度,小车电机的速度等。普通的芯片想要产生PWM都要有专门的IO口,但是32不需要专门的IO口,它可以通过映射就可以完成PWM的输出。PWM输出配置步骤:1、使能定时器和IO口的时钟2、初始化IO口为复用功能输出3、这里我们是要把PB5用定时器的PWM输出引脚,...
2018-09-18 20:52:44 1625
原创 STM32学习之路(二---定时器)
STM32的定时器非常多,也很强调大,32的通用定时器是通过可编程的预分频器驱动的16位自动装载计数器构成。32的每一个通用定时器都是完全独立的,没有互相共享任何资源。STM32的通用定时器TIMx定时器功能包括:1、16位向上、向下、向上/向下自动装载计数器2、 16位可编程预分频器,计数器时钟频率的分频系数为1~65535之间的任意数值3、 4个独立通道,这些通道可以用来作为:A.输...
2018-09-18 20:26:43 298
原创 STM32学习之路(一---串口)
STM32的串口是MCU的重要外部接口,同时也是软件开发重要的调试手段。我学习的是库函数版本的程序的写法,所有的寄存器都是库函数配置的。串口设置的一般步骤可以分为以下几个步骤:1、串口时钟使能,GPIO时钟使能2、串口的复位3、GPIO端口模式的设置4、串口参数的初始化5、开启中断并且初始化NVIC(如果需要开启中断就要这个步骤)6、使能串口7、编写中断处理函数上面几个步骤需要的...
2018-09-18 19:54:45 1396
原创 STM32学习之路(首篇)
STM32的学习之路,到目前为止学习32也有一段时间了,学习32的过程和学51单片机的道路差不多。首先要拥有自己的32开发板,我买的是正点原子的开发板,商家提供了很多学习资料,一开始就是看开发指南,看视频,跟着视频教程自己也写程序,到现在为止还是停留在这个阶段,所以觉得自己应该开始实践了,要懂得怎么样去用自己学到的知识,所以自己准备做一个小一点的遥控飞机。最近在为做飞机储备知识。我大致了解了一下,...
2018-09-18 19:05:43 446
原创 PID(程序学习)
经过几天对PID的学习,以及各种的查阅资料,今天自己动手写了一个闭环小车的PID调速程序。网上关于PID原理的资料文献都有很多,这里我就不多说了,直接给出自己写的程序,希望对那些看了很多资料不敢动手写程序的学者有一些帮助。(我自己也是一个PID的初学者,写这篇博客也是为了加深自己的理解,写的不好的地方,请大家多多提意见) 下面是.c文件的程序#include<pid.h>#in...
2018-09-14 21:11:37 7651 4
原创 PID算法学习(续)
关于PID算法三个参数的确定口诀: 参数整定找最佳,从小到大顺序查 先是比例后积分,最后再把微分加 曲线振荡很频繁,比例度盘要放大 ...
2018-09-12 19:25:34 292
原创 PID算法的学习
PID算法中有三个非常重要的参数: 1、比例系数Kp 2、积分作用系数Ki 3、微分系数Kd 1、比例系数Kp的作用是加快系统的响应速度,提高系统的调节精度。Kp越大,系统的响应速度越快,系统的调节精度越高,但容易产生超调,甚至会使系统不稳定。Kp取值过小,会降低系统的调节精度,使响应速度缓慢,从而延长调节时间,使系统的动态、静态特性变差。 2、积分作用系数Ki的...
2018-09-12 16:33:15 4143
原创 HC05主从蓝牙通信的配置步骤
HC05主从一体化蓝牙模块,可以配置为一个主蓝牙和一个从蓝牙,两个蓝牙之间实现互相通信。拿到蓝牙之后只需接VCC GND RX TX。 首先让蓝牙进入AT模式 先按住蓝牙上的微动开关,然后给蓝牙上电。蓝牙上的红灯慢闪表示进入AT模式。 进行蓝牙AT指令配置 1、打开两个串口调试助手,选好COM口、波特率选38400,数据位为8,停止位为1。 2、恢复两个蓝牙的默认设置(最好选择文本模式发...
2018-09-11 10:51:48 13385 9
第三届之自动售水机
2019-03-14
第四届之模拟智能灌溉系统(修正版)
2019-03-14
第九届之彩灯控制器(修正版)
2019-03-14
第五届蓝桥杯之温度采集与控制
2019-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人