因火生烟 发表于 2026-4-30 09:47:55

STC8H8K64U在工作中改波特率

unsigned longcode   BaudC[] = {
    9600,   // 3: 9600
    19200,// 4: 19200
    38400,// 5: 38400
    57600,// 6: 57600
    115200, // 7: 115200
};

void bort_set(unsigned long BAUD)
{
    uint32i;
        EA=0;
    AUXR &= 0xef;       //关定时器2
    i=65536-(MCLK/(4*BAUD));
    T2L=(unsigned char)i;
    T2H=(unsigned char)(i>>8);
    //IE2 &=~0x04;//关定时器2中断
    AUXR |= 0x10;       //定时器2开始计时       
        EA=1;
}
在工作中,需要改不同的波特率,这个程序可以吗?bort_set(BaudC);

huashanhui20 发表于 2026-4-30 11:53:31

没问题的,我经常这么做,在两个波特率之间切换

晓飛飛 发表于 2026-4-30 20:46:59

动态改定时器重装值就好了
页: [1]
查看完整版本: STC8H8K64U在工作中改波特率