小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
12
返回列表 发新帖
楼主: zhangfish

[求助] 步进电机L298N控制程序编制问题

[复制链接]
 楼主| 发表于 2014-4-16 21:31:09 | 显示全部楼层
恩,谢谢各位能帮助,目前已能生成HEX文件,明天烧进去试试,呵呵

在config.h 中加入
extern unsigned int y,z;

在main.c 中加入
unsigned int y,z;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-18 22:15:01 | 显示全部楼层
今天烧进去试了下,还是无法控制,不知什么原因,而且驱动原来的舵机驱动功能都不能用了。
经过反复测试发现main.c 中这个while 语句不删的话原来功能就能用,但是还是步进电机控制不了。
高手指点下,这个while(1)是什么作用的?加上这个while的话,下面的步进电机程序是不是执行不下去?

        while(1)
        {
            ;
        }


Main.c 完整程序:
#include "stc_new_8051.h"
#include "motor.h"
#include "uart.h"
#include <stdio.h>
#include "type.h"
#include "timer.h"

unsigned int y,z;

void delayms(uint);

void main(void)
{
        UART_init();
       
        /* 定时器0作为舵机专用,不建议更改配置 */
        Timer0_Init();
        /* 定时器1为自由状态,用户可灵活使用 */
        Timer1_Init();
        Motor_Init();

        while(1)
        {
            ;
        }
   
         if(y==1)
        {
        while(1)
        {
    SMOTOR_A=1;
    SMOTOR_B=1;
    SMOTOR_A1=0;
    SMOTOR_B1=0;
        delayms(10);
     SMOTOR_A=0;
    SMOTOR_B=1;
    SMOTOR_A1=1;
    SMOTOR_B1=0;
        delayms(10);
    SMOTOR_A=0;
    SMOTOR_B=0;
    SMOTOR_A1=1;
    SMOTOR_B1=1;
        delayms(10);
    SMOTOR_A=1;
    SMOTOR_B=0;
    SMOTOR_A1=0;
    SMOTOR_B1=1;
        delayms(10);
        }
}
    else if (z==1)
   {
    while(1)
        {
        SMOTOR_A=1;
    SMOTOR_B=0;
    SMOTOR_A1=0;
    SMOTOR_B1=1;
        delayms(10);
        SMOTOR_A=0;
    SMOTOR_B=0;
    SMOTOR_A1=1;
    SMOTOR_B1=1;
        delayms(10);
        SMOTOR_A=0;
    SMOTOR_B=1;
    SMOTOR_A1=1;
    SMOTOR_B1=0;
        delayms(10);
        SMOTOR_A=1;
    SMOTOR_B=1;
    SMOTOR_A1=0;
    SMOTOR_B1=0;
        delayms(10);
        }
        }
    else
        {
                return;
        }


}
void delayms(unsigned int xms)
{
   uint i, j;
   for(i=xms;i>0;i--)
   for(j=100;j>0;j--);
}
回复 支持 反对

使用道具 举报

发表于 2014-4-20 20:02:39 | 显示全部楼层
zhangfish 发表于 2014-4-18 22:15
今天烧进去试了下,还是无法控制,不知什么原因,而且驱动原来的舵机驱动功能都不能用了。
经过反复测试发 ...

while这个语句当然不能删,一删单片机代码就执行一次,然后就跑飞了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-20 21:57:03 | 显示全部楼层
请管理员同志指点下,如何才能实现我要的功能?

现在无法控制,程序的思路对吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-20 22:01:36 | 显示全部楼层
附件是程序文件,如果可能的话,帮忙看下,在这里谢过了!

417.rar

63.75 KB, 下载次数: 8, 下载积分: 金钱 -1

回复 支持 反对

使用道具 举报

发表于 2014-4-20 22:47:59 | 显示全部楼层
楼主有点画蛇添足了,主芯片根本不需要贴散热片,嘿嘿…………
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-21 18:39:16 | 显示全部楼层
呵呵,需要技术支持,谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-23 15:06:03 | 显示全部楼层
再次请求技术支持,希望高手出来指点下,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-11-23 05:58 , Processed in 1.084037 second(s), 19 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

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