串口中断和定时器0中断同时使用的问题!
时间:10-02
整理:3721RD
点击:
如题,我想先使用串口中断,然后后面会使用定时器0中断,建立个初始函数,求大神看看有没有问题。
void usart_timer0_init()
{
SCON=0X50; //设置为工作方式1
TMOD=0X21; //设置计数器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //计数器初始值设置,注意波特率是4800的
TL1=0XF3;
TH0=(65536-50000)/256; //设置初值10us
TL0=(65536-50000)%256;
IP=0X10; //串行口优先级设置为最高
ET0=1; //开定时器0中断
TR0=1; //启动定时器
ET1=1;
TR1=1;
ET1=1;
ES=1; //打开接收中断
EA=1; //打开总中断
}
void usart_timer0_init()
{
SCON=0X50; //设置为工作方式1
TMOD=0X21; //设置计数器工作方式2
PCON=0X80; //波特率加倍
TH1=0XF3; //计数器初始值设置,注意波特率是4800的
TL1=0XF3;
TH0=(65536-50000)/256; //设置初值10us
TL0=(65536-50000)%256;
IP=0X10; //串行口优先级设置为最高
ET0=1; //开定时器0中断
TR0=1; //启动定时器
ET1=1;
TR1=1;
ET1=1;
ES=1; //打开接收中断
EA=1; //打开总中断
}