打印
[PIC®/AVR®/dsPIC®产品]

求助我的4011的485程序不能正常通讯哪位大神可以指点一下

[复制链接]
1493|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
colin111111|  楼主 | 2013-7-19 14:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这儿我的初始化函数,然后
void UART1_INIT ( void )
{
    U1BRG=25;                         //波特率38400-------9600???        //N倍频率原因
        //--------------------
        TRISFbits.TRISF0=0;
        RDE1=0;
        //--------------------
        TRISFbits.TRISF2=0;                //U1RX
        TRISFbits.TRISF3=0;                //U1TX
        //--------------------
    U1MODE=0x8000;
    U1MODEbits.UARTEN=1;         //使能USART
    U1MODEbits.USIDL=0;         //在空闲模式继续运行
    U1MODEbits.ALTIO=0;         //UART通过UxTX和UxRX I/O引脚通信
    U1MODEbits.WAKE=1;                 //使能唤醒
    U1MODEbits.PDSEL=0;          //8位数据,无奇偶校验
    U1MODEbits.STSEL=0;          //1个停止位
        //--------------------
    U1STA=0x0000;
    U1STAbits.UTXISEL=0;           //当一个字符被传输到发送移位寄存器(发送缓冲器中至少还有一个字符)时,产生中断
    U1STAbits.URXISEL=0;           //当一个字符被传输到接收移位寄存器(接收缓冲器中至少还有一个字符)时,产生中断
    U1STAbits.UTXEN=1;           //使能发送
        //--------------------
    IEC0bits.U1RXIE=1;                 //接收使用中断
    IFS0bits.U1RXIF=0;
    IPC2bits.U1RXIP=5;
}
这是我的发送函数
void SENDING2 ( unsigned int temp2 )
{  
        U2TXREG=temp2&0x00FF;
        do{
                ClrWdt();
          }while(U2STAbits.TRMT==0) ;      
        U2STAbits.TRMT=0;
}
这是我在主函数里面的程序
                 RDE2 = 1;      //时钟信号
                if(U2STAbits.UTXBF == 0);
                SENDING2(0);
                for(i = 65535; i > 0;i --);
                RDE2 = 0;
                for(i = 65535; i > 0;i --);
我在串口上调试,一直没有数据发送过来
沙发
yklstudent| | 2013-7-19 15:02 | 只看该作者
写的什么程序 去官网找找demo看看吧

使用特权

评论回复
板凳
colin111111|  楼主 | 2013-7-19 15:11 | 只看该作者
yklstudent 发表于 2013-7-19 15:02
写的什么程序 去官网找找demo看看吧

485通讯的程序

使用特权

评论回复
地板
colin111111|  楼主 | 2013-7-22 10:32 | 只看该作者
ai ..........自己找到错误了,,,,,,,,虽然花时间但是还是弄出来了

使用特权

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

本版积分规则

个人签名:潜心跟二姨学东西,做一个称职的菜鸟 。。。。。。。。。。。。。。。。。。。 高呼“二姨是我家,怎能不爱它”

34

主题

207

帖子

1

粉丝