請教各位我用串口助手給變頻器發送 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]); }
-
- }
- }
-
- }
- }
復制代碼 |