|
楼主 |
发表于 2023-9-23 14:53:15
|
显示全部楼层
#include<stc11f04e.h> //库文件
#include<intrins.h>
//typedef unsigned char uchar;
unsigned char testStr[7] = {0x11, 0x12, 0x13, 0x14, 0x15, 0x16,0x17};
unsigned char Rx_buf[8];
unsigned char Rx_flag = 0;
unsigned char index = 0;
unsigned int recv_buf[9] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
void Delay1ms() //@11.0592MHz
{
unsigned char data i, j;
_nop_();
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
}
void Delay10ms() //@11.0592MHz
{
unsigned char data i, j;
_nop_();
_nop_();
i = 108;
j = 144;
do
{
while (--j);
} while (--i);
}
void Delay100ms() //@11.0592MHz
{
unsigned char data i, j, k;
i = 5;
j = 52;
k = 195;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay1000ms() //@11.0592MHz
{
unsigned char data i, j, k;
i = 43;
j = 6;
k = 203;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Uart_Init(void) //9600bps@11.0592MHz
{
SCON = 0x50; //8位数据,可变波特率
TMOD = 0x20;
TH1 = TL1 = 0xfd;
TR1 = 1;
ES = 1;
EA = 1;
}
void TxByte(unsigned char dat){
SBUF = dat;
while(!TI); // 等待数据发送完成
TI = 0; // 清除发送完成标志
Delay10ms(); // 延时一段时间
}
void TxString(unsigned char *dat, unsigned int StrLen){
unsigned int i;
for(i = 0; i < StrLen; i++){
TxByte(dat[i]);
Delay10ms(); // 延时一段时间
}
while(!TI); // 等待最后一个字节发送完成
TI = 0; // 清除发送完成标志
}
//void SendString(char *p)
//{
// while(*p!='\0')
// {
// TxByte(*p);
// p++;
// }
//}
void main(void){
Uart_Init();
while(1){
//TxByte(0x02);
// if(Rx_flag){
// Rx_flag = 0;
// TxString(Rx_buf, 8);
// }
TxString("helloworld",10);
Delay1000ms();
//Delay1000ms();
};
}这段代码串口打印,只能打印出首字母h |
|