找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1296|回复: 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  谢谢

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
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 单片机教程网

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