登录
首页 PLC论坛 西门子SIEMENS
回帖 发帖
正文

主题:求救单片机串口与MM440通信的问题

点击:1043 回复:2

各位高手你好,我要用单片机的串口发指令给MM440,用来控制变频器,通过测试,用PC机上的串口调试助手发指令给变频器,可以控制变频器,但是用单片机发同样的指令给变频器却没有反应,网上说指令的数据类型不对,我不知道怎么解决??希望哪位高手指点一下!!!
比如用PC机上的串口调试助手发指令:02 06 00 04 7E 40 00 3E可以是变频器停止,但是用单片机发就不行了?
这是一部分程序:
unsigned char n[16]={'0','2','0','6','0','0','0','4','7','E','4','0','0','0','3','E'};
void SciTx(unsigned char text){
 while (!(SCI0SR1&0x80));  /* wait for output buffer empty */
 SCI0DRH=0;
 SCI0DRL=text;
}
void main()
{
 int i;
 DDRB=0xFF;
 PORTB=0xAA;
 
 SET_PLL();
 SciInit();
       
      for(i=0;i<16;i++)
  {  
       SciTx(n[i]);        //向串口发送HELLO WORLD
  }
       delay (2000000);
         
}
09-07-09 11:23
02 06 00 04 7E 40 00 3E
用的是16进制发送吗?
如果是那么n[16]有问题!
你可以用你的单片机往pc那发先,看看到底的是啥
09-07-09 18:48
看看放送方式
09-08-15 00:48

工控新闻

更多新闻资讯