这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 合作大赛 » 终于做出来了!给大家共享一下程序流程

共1条 1/1 1 跳转至

终于做出来了!给大家共享一下程序流程

菜鸟
2009-09-03 16:36:19     打赏

使用UART对MMC进行寄存器设置,控制直流电机的程序流程。
可以独立控制3个通道的直流电机。

程序流程:
 1) MCU初始化
 2) 延时一段时间,等待硬件初始化(可以是毫秒级)
 3) 通过UART发送设置MMC寄存器的指令。
  例如,设置1通道,发送控制指令50,并等待2mS,然后再发送地址为00的寄存器的值C0,再等待2ms,然后再发其他需要设置的寄存器的值。
 4) 设置OK,电机开始转动啦!
 

 感谢的话就不用多说了,祝大家开发顺利,哈哈。
 

void delay(int t)
{
while(t--);
}

void  main( void )
{

unsigned char ch1mode[]={0x50};
unsigned char ch2mode[]={0x54};
unsigned char ch3mode[]={0x58};

unsigned char ch1duty[]={0x53};
unsigned char ch2duty[]={0x57};
unsigned char ch3duty[]={0x5B};


unsigned char ch1modevalue[]={0xC0};
unsigned char ch2modevalue[]={0xC0};
unsigned char ch3modevalue[]={0xC0};

unsigned char ch1dutyvalue[]={0x55};
unsigned char ch2dutyvalue[]={0x45};
unsigned char ch3dutyvalue[]={0x45};


unsigned char read[]={0xA7};

UART0_Start();

    delay(2000);//2ms
   
 UART0_SendData(ch1duty,1) ;
 delay(2000);
 UART0_SendData(ch1dutyvalue,1) ;
 delay(2000);
 UART0_SendData(ch1mode,1) ;
 delay(2000);
 UART0_SendData(ch1modevalue,1) ;
 delay(2000);
   
   
   
 UART0_SendData(ch2duty,1) ;
 delay(2000);
 UART0_SendData(ch2dutyvalue,1) ;
 delay(6000);
 UART0_SendData(ch2mode,1) ;
 delay(2000);
 UART0_SendData(ch2modevalue,1) ;
 delay(2000);


 UART0_SendData(ch3duty,1) ;
 delay(2000);
 UART0_SendData(ch3dutyvalue,1) ;
 delay(2000);
 UART0_SendData(ch3mode,1) ;
 delay(2000);
 UART0_SendData(ch3modevalue,1) ;
 delay(2000);


 while (1) {
 UART0_SendData(read,1) ;
 delay(2000);
 }
}




关键词: 终于     出来了     大家     共享     一下     程序     流程     del    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]