8h8k64u串口2初始化完成后自动发送一个00,这是为什么呢?怎么才能避免
本帖最后由 DebugLab 于 2024-11-18 10:48 编辑void main()
{
Uart2_Init();
Uart1_Init();
GPIO_Init();
I2C_Init();
EA = 1;
}
void Uart2_Init()
{
S2CON = 0x50;
P_SW2 = 0x00; //RXD2/P1.0, TXD2/P1.1
AUXR |= 0x04; //定时器时钟1T模式
if(Baud_Set==1) {T2L = 0x80; T2H = 0xFB;} // @44.2368MHz 9600
else if(Baud_Set==2) {T2L = 0xC0; T2H = 0xFD;} // @44.2368MHz 19200
else if(Baud_Set==3){T2L = 0xE0; T2H = 0xFE;} // @44.2368MHz 38400
else if(Baud_Set==4){T2L = 0x40; T2H = 0xFF;} // @44.2368MHz 57600
else {T2L = 0xA0; T2H = 0xFF;} // @44.2368MHz115200
AUXR |= 0x10; //定时器2开始计时
IE2 |= 0x01; //使能串口2中断
}
void GPIO_Init()
{
P0M0=0;P0M1=0;
P1M0=0;P1M1=0;
P2M0=0;P2M1=0;
P3M0 = 0x70; P3M1 = 0x00;
P5M0=0;P5M1=0;
}
本帖最后由 邮箱 于 2024-11-17 22:38 编辑
先设置GPIO模式、清除中断标志,再使能中断 应该并不是发送了0x00,而是在TXD上输出了一个毛刺而已 输出一个0x00 也没有说明关系啊 先配置GPIO 邮箱 发表于 2024-11-17 22:34
先设置GPIO模式、清除中断标志,再使能中断
没有用呢 bkeuqoaq 发表于 2024-11-18 08:58
先配置GPIO
之前试过不行,所以才放后边的
页:
[1]