打印
[其它应用]

串口通信程序

[复制链接]
1287|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tian111|  楼主 | 2022-6-10 22:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我根据例程,改了个十分简单的串口通信程序,该方法我通过proteus仿真,能够实现功能,但是下载到SH88f516中,就出问题了,按理说,即使波特率,和停止位位数这些不正确,通过串口助手仍然能够收到数据才是,虽然数据可能是错的。经过调试发现,有块PCB上是SBUF一直不能够得到值,但是TI会变化;有一块则是SBUF能得到一次赋值,但一直在执行while(TI == 0);即TI一直无法变成1.
使用EUART1,没有问题。这是我串口没有配置好?请各位不吝赐教!
主要的配置程序如下:
T2MOD        =        Bin(00000000);        //设置Timer2用于产生波特率(baudrate generator
T2CON        =        Bin(00110000);
SCON        =        Bin(11010000);
RCAP2L        =        LOBYTE(UART_BAUDRATE);
TL2        =        LOBYTE(UART_BAUDRATE);
RCAP2H        =        HIBYTE(UART_BAUDRATE);
TH2        =        HIBYTE(UART_BAUDRATE);
//////////////////////////////////////////////////////
while(1)
{
SBUF = 10;                 
while(TI == 0);
TI = 0;
}

使用特权

评论回复
沙发
xxrs| | 2022-6-10 22:36 | 只看该作者

用的是Tx1和Rx1,所以只能使用EUART1

使用特权

评论回复
板凳
tian111|  楼主 | 2022-6-10 22:38 | 只看该作者
哦,这样啊

使用特权

评论回复
地板
tpgf| | 2022-7-4 08:53 | 只看该作者
只能使用EUART1

使用特权

评论回复
5
nawu| | 2022-7-4 09:05 | 只看该作者
我没理解二楼的解答

使用特权

评论回复
6
aoyi| | 2022-7-4 09:19 | 只看该作者
就是硬件上用的就是这个接口的引脚

使用特权

评论回复
7
zljiu| | 2022-7-4 09:27 | 只看该作者
硬件上已经这样连接了 所以只能这样用

使用特权

评论回复
8
gwsan| | 2022-7-4 09:35 | 只看该作者
硬件和软件要相符

使用特权

评论回复
9
tfqi| | 2022-7-4 09:43 | 只看该作者
呵呵 对的 就是这个意思

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

797

主题

8878

帖子

7

粉丝