找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4669|回复: 1
打印 上一主题 下一主题
收起左侧

串口通信

[复制链接]
跳转到指定楼层
楼主
ID:31975 发表于 2011-10-2 17:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

我想用成品的ic卡刷卡器 通过串口线向单片机中送入数据(10位十进制数,以asicc码发送) 但是送入数据后单片机无反应(我已经写好一个小的程序 ,当单片机的串口有数据送入的时候蜂鸣器会报警,并且之前已经用串口调试工具调试成功,即用串口调试工具向单片机发送数据,单片机会成功报警)
注:当刷卡器连接超级终端 刷卡的时候会有数据送入(用串口调试工具,有相同的数据送入)

  测试程序见附件

请高手解答

test.rar (434 Bytes, 下载次数: 3767)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:31198 发表于 2011-11-6 14:24 | 只看该作者
 你的程序有问题

void interrupt_uart() interrupt 4
{
    if(RI)
    {
        RI = 0;
        num = SBUF;
        if(!num==0)
        {
            while(1)
            {
                delay(100);
                BUZZ=~BUZZ;
            }
        }
        //{P0=0;}
        REN=0;
       
    }
}

上面这段是你写的吧,你看看num变量是个无符号整型数据,而你的if判断语句中用了位变量操作,显然你所接收的数据既不是0也不是1,肯定大于1,所以你的蜂鸣器不会响是肯定了的,除非你的接受的数据就等于1,否则蜂鸣器是不会响的。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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