CLS(0) 是串口屏的清屏命令,我用下面的程序串口屏啥反應都沒有,但我在串口助手可以看到連續發送的數據是正常的 CLS(0),我在示波器上看到數據的驅動電壓幅度在5V左右,應該是夠用的,(我沒有邏輯分析儀)
#include <reg52.h>
#define uchar unsigned char //定義unsigned char型數據簡寫
#define uint unsigned int //定義unsigned int型數據簡寫
#define ulong unsigned long
void Uart1_init() //57600bps@11.0592MHz,串口初始化
{
PCON |= 0x80; //使能波特率倍速位SMOD
SCON = 0x50; //8位數據,可變波特率
TMOD &= 0x0F; //設置定時器模式
TMOD |= 0x20; //設置定時器模式
TL1 = 0xFF; //設置定時初始值
TH1 = 0xFF; //設置定時重載值
ET1 = 0; //禁止定時器中斷
TR1 = 1; //定時器1開始計時
}
void delayMS(uint ms) //毫秒延時
{
uchar i, j;
while(ms--)
{
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
}
void SendByte(uchar dat)//向串口發送一個字節
{
TI=0;
SBUF=dat;
while(!TI);
TI=0;
}
void SendStr(uchar *s)//向串口發送字符串
{
while(*s) //通過檢測字符串末尾0x00停止發送
{
SendByte(*s++);
}
delayMS(5);
}
void main()
{
Uart1_init();
while (1)
{
SendStr("CLS(0);\r\n");
delayMS(100);
}
}
|