串口初始化时,串口1没有选择引脚,对应的引脚从哪里看出来?
void DebugPrintfInit(void)
{
#if(PrintUart == 1)//这里没有引脚选择?对应引脚是哪个?
SCON = (SCON & 0x3f) | 0x40;
AUXR |= 0x40; //定时器时钟1T模式
AUXR &= 0xFE; //串口1选择定时器1为波特率发生器
TL1= TM;
TH1= TM>>8;
TR1 = 1; //定时器1开始计时
// REN = 1; //允许接收
// SCON = (SCON & 0x3f) | 0x40;
// T2L= TM;
// T2H= TM>>8;
// AUXR |= 0x15; //串口1选择定时器2为波特率发生器
// REN = 1; //允许接收
#else
P_SW2 |= 1; //UART2 switch to: 0: P1.0 P1.1,1: P4.6 P4.7;串口2这里进行了选择,串口1却没有?
S2CON = (S2CON & 0x3f) | 0x40;
T2L= TM;
T2H= TM>>8;
AUXR |= 0x14; //定时器2时钟1T模式,开始计时
// S2CON |= (1<<4); //允许接收
#endif
}
DebugLab 发表于 2024-7-18 16:02
我看的熊仔的代码,我是说他这里面并没有引脚选择,引脚选择我知道,为啥没有选择呢? 380091044 发表于 2024-7-18 16:05
我看的熊仔的代码,我是说他这里面并没有引脚选择,引脚选择我知道,为啥没有选择呢? ...
不选择就是默认P30 P31 380091044 发表于 2024-7-18 16:05
我看的熊仔的代码,我是说他这里面并没有引脚选择,引脚选择我知道,为啥没有选择呢? ...
回忆一下汉语中“默认”的定义。
你不专门指定的话,它就是那个特殊默认的 hsrzq 发表于 2024-7-18 17:19
回忆一下汉语中“默认”的定义。
你不专门指定的话,它就是那个特殊默认的 ...
说的对,我已经测试了, DebugLab 发表于 2024-7-18 16:15
不选择就是默认P30 P31
是的,对的,都是这个口。 380091044 发表于 2024-7-18 17:29
是的,对的,都是这个口。
我觉得你应该关注这个寄存器的复位值,,这个复位值对应的引脚 就是所谓的默认 380091044 发表于 2024-7-18 16:05
我看的熊仔的代码,我是说他这里面并没有引脚选择,引脚选择我知道,为啥没有选择呢? ...
另外,要不你换个人的代码参考参考呢?
前几天就是你被他的OS移植整郁闷的吧?
咋不长记性呢{:4_167:} _奶咖君_ 发表于 2024-7-18 17:36
我觉得你应该关注这个寄存器的复位值,,这个复位值对应的引脚 就是所谓的默认 ...
你说的对,你都从不同的侧面说明了这点,让我更加全面了解了这点,你说的复位是上电自动复位吗?还是不管它,它自动默认就0x00,导致的默认?
页:
[1]
2