请教各位我用串口助手给变频器发送 01 06 20 00 00 16 03 C4 数据变频器可以运行 然后我用单片机给发送变频器不运行是什么原因
变频器设置是
地址 01 9600 8N2
单片机程序如下请路过的大佬指点一下,谢谢
单片机源程序如下:
- #include "reg52.h"
- #include "intrins.h"
- #include<stdio.h>
- typedef unsigned char uchar;
- typedef unsigned int uint;
- typedef unsigned long ulong;
- sbit run=P3^2;
- sbit sotp=P3^3;
- uchar flag,a,i,dat;
- uchar sz[]={0x01, 0x06, 0x20, 0x00, 0x00, 0x16, 0x03, 0xc4,};
- /*******************************************************************************
- * 函 数 名 : 初始化串口
- * 函数功能 : 设置串口
- * 输 入 : 无
- * 输 出 : 无
- *******************************************************************************/
- void csh()
- {
- SCON=0X50;
- TMOD=0X21;
- PCON=0X00; //波特率不加倍
- TH1=0XFd; //计数器初始值设置,[url=mailto:9600@11.0592MHz]9600@11.0592MHz[/url]
- TL1=0XFd;
- TR1=1;
- EA = 1; //开总中断
- ES = 1; //开串口中断
-
- }
- void uort_tx_byte(uchar str)//发送一个字节
- {
-
- SBUF=str;
- while(TI==0);
- TI=0;
- }
- void main(void)
- {
- uchar i=0;
- csh(); //初始化串口
- while(1)
- {
- if(run==0)
- {
- ys(10);
- if(run==0)
- {
- while(!run);
- for(i=0;i<8;i++)
- { uort_tx_byte(sz[i]); }
-
- }
- }
-
- }
- }
复制代码 |