OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3627|回复: 6

stm32智能小车电机驱动求助

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2020-3-2
在线时间
2 小时
发表于 2020-4-3 11:49:37 | 显示全部楼层 |阅读模式
1金钱
我在做stm32驱动的智能小车时,编写的电机驱动函数单独测试时没有问题,但是用esp8266连接云服务器后,用app给单片机发送命令,stm32单片机也收到了命令,但是执行小车驱动函数时却总是失败。
例如下面这部分代码,当单片机接收到CMD1命令时,小车前进并且LED灯亮,但是实际情况是,LED灯亮了,小车却没有前进移动,这是为什么呢?                                      

    if(!memcmp(&MQTT_CMDOutPtr[2],CMD1,strlen(CMD1))){         
     Car_Run(6500);
     LED1_OUT(!LED1_IN_STA);
    }
这部分代码是在主函数的while(1)循环的一个if语句里面

我刚开始以为是小车移动函数有问题,于是我把函数单独进行了测试,把小车移动函数单独放到主函数的while(1)的循环里面,其它什么都没有,如下,这种情况下小车是可以移动的,
while(1)                     
{  
     Car_Run(6500);  
}

请问有好心人知道了,可以给解答一下吗,感激不尽!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

6

主题

412

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
2711
金钱
2711
注册时间
2019-8-14
在线时间
414 小时
发表于 2020-4-3 14:37:09 | 显示全部楼层
原子的板子输出电压只有3.3哦,不能直接驱动电机哦 你接电机驱动模块了吗
回复

使用道具 举报

15

主题

317

帖子

0

精华

高级会员

Rank: 4

积分
859
金钱
859
注册时间
2015-2-12
在线时间
353 小时
发表于 2020-4-3 14:43:06 | 显示全部楼层
从你的描述可以得出:Car_Run()需要连续调用,小车方能走动。而你接收的命令后,可能仅执行一次Car_Run();
回复

使用道具 举报

0

主题

82

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
267
金钱
267
注册时间
2018-7-6
在线时间
133 小时
发表于 2020-4-4 08:08:00 | 显示全部楼层
你不给大家看Car_Run();这个函数,怎么帮你!
回复

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
13
金钱
13
注册时间
2020-4-4
在线时间
2 小时
发表于 2020-4-7 14:42:31 | 显示全部楼层
同求答案
回复

使用道具 举报

0

主题

89

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1286
金钱
1286
注册时间
2020-4-7
在线时间
309 小时
发表于 2020-4-7 16:19:33 | 显示全部楼层
LED灯亮了   说明程序顺利进入了if条件里面,运行了Car_Run函数,然后才能点亮LED   你单独执行Car_Run函数可以移动   就需要看看你的Car_Run函数是怎么写的了   需不需要一直执行才有作用
回复

使用道具 举报

37

主题

477

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
2285
金钱
2285
注册时间
2017-8-24
在线时间
375 小时
发表于 2020-4-8 09:49:08 | 显示全部楼层
最简单的计数加延时
天然懒,天然呆
能吃会睡,未来可期
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 04:50

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表