搜索
bottom↓
回复: 0

ADE5169串口通讯问题,无法接收数据,有懂的帮忙看看!谢谢

[复制链接]

出0入0汤圆

发表于 2012-3-29 17:15:59 | 显示全部楼层 |阅读模式
最近在调试ADE5169串口程序,总是出现无法接收数据情况,附上程序,有懂的帮忙看看,谢谢!
#include "ADE5xxx.h"
#include "uart.h"

#define INBUF_LEN 9 //数据长度
unsigned char  inbuf[5];  
bit read_flag= 0 ;

void init_serialcomm( void )
{
        SCON = 0x50 ; //SCON: serail mode 1, 8-bit UART, enable ucvr
        SBAUDT = 0x01; //115200,n,8,1
        SBAUDF = 0x87;
        TMOD |= 0x20 ; //TMOD: timer 1, mode 2, 8-bit reload
        IE |= 0x90 ; //Enable Serial Interrupt
        PCON |= 0x80 ; //SMOD=1;
//        TH1 = 0xFD ; //定时器值
//        TH0 = 0xFD;
//        TR1 = 1 ; // timer 1 run
        REN=1;
}

//向串口发送一个字符
void send_char_com( unsigned char ch)
{
        SBUF=ch;
        while (TI== 0 );
        TI= 0 ;
}

//向串口发送一个字符串,strlen为该字符串长度
void send_string_com( unsigned char *str, unsigned int strlen)
{
        unsigned int k= 0 ;
        do
        {
                send_char_com(*(str + k));
                k++;
        }
        while (k < strlen);
}

unsigned char getchar(void)
{
        unsigned char dataout;
        if(RI)
        RI=0;
        dataout = SBUF;
        return dataout;
}
               

void getchars(void)
{
        unsigned char i=0;
        for(i=0;i<5;i++)
        {
                inbuf[i]=getchar();
        }

}

void serial (void)
{
        unsigned char count=0;
    unsigned char ch;
    if(RI)
    {
                ch=SBUF;
        RI = 0;
        {
                 if(count <5)
                 inbuf[count]=ch;
                 else if(count ==5)
                 {
             read_flag=1;  //如果串口接收的数据达到INBUF_LEN个,且校验没错,
                         count = 0;
         }
                 count++;
        }
    }
}

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 04:25

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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