首先,安装完小车后最激动的还是想让他跑动,那么就开始吧。写个简单的程序测试下电机是否正常。打开keil软件新建一个工程,具体简历keil工程不会的请百度,或者call我,我有简历Keil工程的文档,保证你会的。
第一初始化管脚,来进行控制电机,输出高低电平,方可让电机转动。
/*******************************************************************************
* 函数名字 : GPIO_Configuration(void)
* 描述 : 初始化PE7~PE8为输出口.并使能这两个口的时钟
Motor(电机输出引脚) IO初始化
* 输入 : 无
* 输出 : 无
* 返回值 : 无
*******************************************************************************/
void GPIO_Configuration(void)
{
//PE.7~PE.8 小车后轮控制引脚
//PE.9!PE.10 风扇控制引脚
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); //使能PE端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10; //Motor-->PE.7 ... Motor-->PE.10 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOE, &GPIO_InitStructure); //根据设定参数初始化GPIOE
GPIO_ResetBits(GPIOE,GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10); //PE.7.....PE10 输出低电平
}
带代码中都做了详细的介绍,我就不过多的介绍了。不会的可以问我。主要是管脚的配置,都是直接调用的库 函数,这可比51简单多了,不用直接和寄存器打交道,直接和库函数交流就行,太方便了。
主函数里面直接初始化下管脚就行:
GPIO_Configuration(void);
int main(void)
{
while(1);
}
ok!一切打工高成,用J-Link 或者通过串口下到核心板中去,连接上线,就ok了。
关于连线问题,这个非常重要,我当初就是没有将线接对,导致高了半天,电机也不转,我用的电机驱动模块是L198N的。
贴上电路原理图:
相信大家都能看懂,不懂的看看模电、数电稍微懂点电路常识应该都懂吧。嘿嘿……
可以看到小车跑的很快,速度应该很快的。不过不是我们想要的效果,下一篇介绍,怎样控制小车的速度……
电机驱动模块注意不要接反了,容易烧坏,我就烧坏了一个
上面接线的时候注意电机驱动模块使能端的跳线帽不要拿下来,否则不起作用,下一篇在调节小车速度的时候会将跳线帽拿下来,然后接根线进行控制速度,及PWM调速法。
怎么样,不难吧……成功是属于那些勇于追逐。永不放弃的人的。加油……
上一篇:基于STM32的无线飞鼠(一)
下一篇:STM32学习探究:流水灯的实现
设计资源 培训 开发板 精华推荐
- LTC3550EDHC 演示板、双输入 USB/AC 适配器电池充电器和 600mA 同步降压转换器
- LTC1733,用于 4.1V 或 4.2V 电池的完整 1.5A 单节锂离子充电器
- AM2G-1203SZ 3.3V 2 瓦 DC/DC 转换器的典型应用
- LF25CDT-TR 2.5V 延迟开启低压降稳压器的典型应用
- MC3403 单电源函数发生器运算放大器的典型应用电路
- AVR2044,基于单片机ATmega128RFA1的应用电路,支持IEEE802.15.4、ZigBee、6LoWPAN、RF4CE、SP100、WirelessHart和ISM应用
- MC33074DR2G基本同相放大器典型应用
- 武汉理工直流电机控制系统
- AM3GH-4815SZ 15V DC/DC转换器的典型应用
- STEVAL-ILL002V2,基于 STP08CDC596 LED 驱动器的检测 LED 矩阵评估套件