求一个msp430控制舵机控制板的程序

2019-07-31 15:40发布

这几天都在做这个  #include <msp430x14x.h>
#include "Config.h"

//*************************************************************************
//               MSP430串口初始化
//*************************************************************************
void UART_Init()
{
  U0CTL|=SWRST;               //复位SWRST
  U0CTL|=CHAR;                //8位数据模式
  U0TCTL|=SSEL1;              //SMCLK为串口时钟
  U0BR1=baud_h;               //BRCLK=8MHZ,Baud=BRCLK/N
  U0BR0=baud_l;               //N=UBR+(UxMCTL)/8
  U0MCTL=0x00;                //微调寄存器为0,波特率9600bps
  ME1|=UTXE0;                 //UART1发送使能
  ME1|=URXE0;                 //UART1接收使能
  U0CTL&=~SWRST;
  IE1|=URXIE0;                //接收中断使能位
  //IE1|=UTXIE0;
  P3SEL|= BIT4;               //设置IO口为普通I/O模式
  P3DIR|= BIT4;               //设置IO口方向为输出
  P3SEL|= BIT5;
}
char *s={"#3P1151T1000 "};
char *ss={"#4P1151T1000 "};
char *sss={"#3P551T1000 "};

//*************************************************************************
//              串口0发送数据函数
//*************************************************************************

void Send_Byte(char data)
{
  while((IFG1&UTXIFG0)==0);          //发送寄存器空的时候发送数据
    U0TXBUF=data;
}
void Print_Str(char *s)  //串口发送字符串函数
{
    while(*s != '')
    {
        Send_Byte(*s++);
    }
}

//*************************************************************************
//               处理来自串口 0 的接收中断
//*************************************************************************

#pragma vector=UART0RX_VECTOR
__interrupt void UART0_RX_ISR(void)
{
  uchar data;
  data=U0RXBUF;                       //接收到的数据存起来
  Send_Byte(data);                   //将接收到的数据再发送出去
  Print_Str(s);
}

//*************************************************************************
//            处理来自串口 0 的发送中断,预留
//*************************************************************************

#pragma vector=UART0TX_VECTOR
__interrupt void UART0_TX_ISR(void)
{
  //Print_Str("#3P1151T1000 ");

}

//*************************************************************************
//           主函数
//*************************************************************************
void main(void)
{
  WDT_Init();                         //看门狗设置
  Clock_Init();                       //系统时钟设置
  UART_Init();                        //串口设置初始化
  _EINT();                            //开中断
  while(1)                            //无限循环
    {  
      
      Print_Str(s);
      delay_ms(1500);
      Print_Str(ss);
      delay_ms(1500);
      Print_Str(sss);
      delay_ms(1500);
      Print_Str("#4P851T1000 ");
      delay_ms(1500);
    }
}
可是 舵机就是不动   好伤心
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
dirtwillfly
1楼-- · 2019-07-31 19:07
看过驱动舵机的io有没有波形?
firstblood
2楼-- · 2019-08-01 00:39
用PWM进行控制的吧还是?
zh113214
3楼-- · 2019-08-01 05:48
 精彩回答 2  元偷偷看……
小灰灰001
4楼-- · 2019-08-01 11:34
有波形   舵机就是不动   真伤心
周董
5楼-- · 2019-08-01 14:55
串口0接收中断是不是有问题啊??

一周热门 更多>