AI8051U 串口1 问题 | 已给完整参考例程
#include <AI8051U.H>unsigned char xdata receive;//串口接收数组
unsigned char xdata sending;//串口发送数组
/*io口初始化*/
void IO_int()
{
P0M0=0X00;P0M1=0X00;
P1M0=0X00;P1M1=0X00;
P2M0=0X00;P2M1=0X00;
P3M0=0X00;P3M1=0X00;
}
/*---定时器二做波特率发生器----*/
void Uart1_Isr(void) interrupt 4
{
if (RI) //检测串口1接收中断
{
RI = 0; //清除串口1接收中断请求位
}
}
void Uart1_Init(void) //4800bps@40.000MHz
{
SCON = 0x50; //8位数据,可变波特率
AUXR |= 0x01; //串口1选择定时器2为波特率发生器
AUXR &= 0xFB; //定时器时钟12T模式
T2L = 0XD0;//(65535-208)%256; //设置定时初始值
T2H = 0XFF;//(65535-208)/256;; //设置定时初始值
AUXR |= 0x10; //定时器2开始计时
ES=1;
//EA=1;
}
/*----串口发送一个字节*/
//void CK_sending(unsigned char dat)
//{
// SBUF = dat;
// while(TI==0);
// TI=0;
//}
/*----串口发送一个字符串----*/
void CK_sendlong(unsigned char *set)
{
while(*set!='\0')
{
SBUF = *set++;
while(TI==0);
TI=0;
}
//CK_sending(*set++);
}
void main()
{
IO_int();
Uart1_Init();
while(1)
{
CK_sendlong("h");
}
}
想问一下,为什么发送会乱码哎,找不到问题在哪?
为了回答您的问题,我需要先明确您提到的具体问题是什么。然而,您提供的代码中并没有明确提到的“串口问题”,因此无法提供详细的回复。请提供您需要解决的具体问题,例如:
1. 串口连接的波特率设置:您是否在设置波特率(波特率发生器)时遇到了问题?
2. 时钟模式设置:您是否在配置串口时遇到了时钟模式(如4800bps和40000MHz)的问题?
3. 低时钟周期(LT)配置:您是否在串口发送时遇到了低时钟周期(LT)问题?
4. 串口连接的低时钟周期(LT)处理:您是否在串口连接中遇到了LT周期的配置问题?
如果您能提供具体的代码或问题描述,我可以为您详细解答。
[本文内容由国芯人工智能辅助生成,仅供参考]
https://www.stcaimcu.com/forum.p ... id=15176&pid=166981
神农鼎 发表于 2025-6-22 17:22
https://www.stcaimcu.com/forum.p ... id=15176&pid=166981
解决啦,忘记改配置了要把4字节勾上
页:
[1]