微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 为什么我用串口向模块发送指令没反应呢?

为什么我用串口向模块发送指令没反应呢?

时间:10-02 整理:3721RD 点击:
我模块需要通过STC12C5A60S2的单片机的第二个串口向模块发送一个0x40的十六进制的指令。
然后我串口初始化是这样的
void init(void)
{
S2CON = 0x50; //方式1,八位数据,可变波特率
AUXR1 = 0x00; //1T工作方式
PCON = 0x00; //不倍增波特率
IP2 = 0x00; //优先级默认
BRT = 0XFC; //设置波特率9600
AUXR = 0x10; //启动波特率发生器
EA = 1; //开总中断
IE2 = 0x01; //开串口2中断
}
然后主程序这么写的。(选取的部分)
void main()
{
uchar *p;
init();
p=tab;
delay(50);
S2BUF = 0x40;
while(1)
}

结果模块没反应,我用串口调试助手人工发送到模块的时候是没问题的。求解

填充数据到缓冲区之后等待数据发送完成
SBUF   =   i;
while(TI ==0); //等待发送完成

我看资料上,第二个串口对应的是S2TI,但是在程序中改怎么写呢?头文件中貌似没有定义S2TI。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top