stm32智能小车之路之小车启动

       首先,安装完小车后最激动的还是想让他跑动,那么就开始吧。写个简单的程序测试下电机是否正常。打开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调速法。

      怎么样,不难吧……成功是属于那些勇于追逐。永不放弃的人的。加油……

       

时间: 2024-08-11 07:49:16

stm32智能小车之路之小车启动的相关文章

stm32智能小车之路

       最近学习了stm32,带着兴趣想做一个智能小车.不得不承认自己还是一个实实在在的菜鸟,好多知识到了用处都不会了,看了半天,才看懂.在网上看了下,全是关于51的,stm32的很少,而且也是很详细,看了还是不懂,自己既然做完了,拿出来和大家分享下,互相学习,希望大家提出点意见.         非常感谢CSDN,让我学到了很多的知识,里面的牛人太多了,给我提供了丰富的资源,作为回报,我也把自己的想法和一些经验(我自认为的)写出来,给没有头绪或不会的人来学习下,希望你们不要走我走过的弯路

STM32智能小车之 循迹

           一般小车实现了跑动之后,接着要做的就是让它按照我们设定的路线进行巡线走路,那么就要用到循迹模块了.网上循迹模块很多的,有好多种,原理就那样,就是利用红外传感原理.小车能够按照黑线走是因为当红外线的光照到黑线上时会被吸收,从而检测部到信号,而照到白线时可以反射回去,也就可以接受得到,因此,空值起来也很简单,一句话,检测和模块相连管脚的电平的高低. 哪么我就来说说,该怎样检测呢. 通过相应的函数读取管脚的电平值就行了. GPIO_ReadInputDataBit(GPIOD,

【智能无线小车系列一】小车电机运动测试程序

下面的代码演示的是让小车直线前进的arduino程序: /*the following codes functions to make the car run forward repeatedly*/ int pin1=8; int pin2=9; int speedpin1=11; int pin3=6; int pin4=7; int speedpin2=10; void setup() { // put your setup code here, to run once: pinMode(

智能小车十一《完成小车电路板设计》

一..连接元件与封装[Design->Load Nets] 可能会报如下错误 node not found Footprint not found no Component found 解决办法, 1.注意每个元件都要连上封装 2.每个封装上的引脚要与元件里的引脚名一致,不然连线(net)会报错 3.元件名不能有特殊符号 要注意几点: 1.可以封闭与pcb的方向不一至,需要旋转封装,方法: 选择要旋转的封装,可以多选.按住鼠标左键,再敲空格键. 2.原理图元件名最好为英文,中文在生成连线时会出乱

STM32命名规则、容量及其相应启动文件

STM32系列命名规则 STM32 F 103 C 6 T 7 xxx        1    2   3   4   5 6 7   8 第1部分:产品系列名,固定为STM32 第2部分:产品类型:F表示这是Flash产品,目前没有其它选项 第3部分:产品子系列:103表示增强型产品,   101表示基本型产品                        105表示集成一个全速USB 2.0 Host/Device/OTG接口和两个具有先进过滤功能的CAN2.0B控制器,          

2020第十届广州国际智能家居展览会预定已全面启动!

2020第十届广州国际智能家居展览会(简称全智展)展位预定已全面启动.展会以"智能创新,改变生活"为主题,以"立足羊城.辐射珠三角.面向市场.服务百姓"为中心思想,定于2020年12月9-11日在广州保利世贸博览馆举行,即日起开始对外接受咨询报名. 展会规模历史空前 更加注重创新企业发展 从主办方处获悉,与往届相比,C-SMART2020展会规模将继续扩大,展出面积将持续增长,专业观众人数也会有新的突破.据主办方给出的相关数据显示,C-SMART2020展出面积预计

Linux嵌入式驱动学习之路⑦Linux内核启动流程

编译的内核可能会很大,故这里可以压缩一下.而在内核文件中需要解压,所以就会有一段自解压代码. 在uboot启动内核的时候,调用了函数: thekernel(0,MACH_ID,params_addr ) 1. 首先处理uboot传入的参数. 获取处理器id,查看内核是否支持这个处理器. 获取uboot传入的机器ID,查看内核是否支持所运行该系统的单板. 挂载根文件系统. 最终目的是运行应用程序

Xamarin的不归路-安卓模拟器启动慢&没有虚拟键盘

1.启动慢解决方案:参考这篇文章进行配置 http://www.360doc.com/content/13/1002/18/532901_318605525.shtml 2.模拟器没有虚拟键盘解决方案:

树莓派进阶之路 (033) - 开机启动自定义脚本

因为需求需要,树莓派开机需要自动运行一些代码和脚本,并且需要对网络是否正常进行监测,所以需要做带网络监测的自启动服务. 参考了一下文档: Linux开机启动程序详解 Linux中设置服务自启动的三种方式,linux服务的开机启动和运行级别,linux系统的7种运行级别,ubuntu下设置开机启动服务, Ubuntu15.x /CentOS 7.x 以后 设置开机启动,添加自定义系统服务,自定义开机启动, Ubuntu14.04设置开机启动脚本,如何添加自定义脚本到开机自启动,linux添加开机自