找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1378|回复: 2
收起左侧

求指导 单片机预编译问题

[复制链接]
ID:433777 发表于 2021-5-23 22:14 | 显示全部楼层 |阅读模式
#ifdef RS232_DEBUG

//==============================================================


void Init_RS232(void)
{
        AUXR |= 0x40; //set T1x12, select 1T mode
#if(XTAL==6)
    TMOD &= 0x0F;  //6MHZ 1T
        TMOD |= 0x20;
    SCON = 0x50;   //允许接收
    TH1 = 0xEC;         //19200
    TL1 = TH1;
    PCON = 0x80;
    TR1 = 1;
#elif(XTAL==12)
    TMOD &= 0x0F;  //12MHZ 1T
        TMOD |= 0x20;
    SCON = 0x50;   //允许接收
    TH1 = 0xD9;         //19200
    TL1 = TH1;
    PCON = 0x80;
    TR1 = 1;       
#endif
}

这种写法是不是预编译 不用调用Init_RS232()  就可以初始化 RS232  谢谢

回复

使用道具 举报

ID:879348 发表于 2021-5-24 10:08 | 显示全部楼层
不是你理解的意思
回复

使用道具 举报

ID:130230 发表于 2021-5-24 16:41 | 显示全部楼层
这里可以通过1个宏来控制编译的代码块,如果XTAL == 6就编译 #if(XTAL==6)     TMOD &= 0x0F;  //6MHZ 1T         TMOD |= 0x20;     SCON = 0x50;   //允许接收     TH1 = 0xEC;         //19200     TL1 = TH1;     PCON = 0x80;     TR1 = 1;这一部分,否则就编译另外一部分。总的来说就是根据宏来适配你的主频。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表