社区导航

 

搜索
查看: 2919|回复: 5

c8051f020的串口问题

[复制链接]

96

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-16 00:02 | 显示全部楼层 |阅读模式
在使用c8051f020的串口往pc串口发送数据时,始终不成功,望高手指点一下:
串口调试器设置:8-N-1;Baud=38400;
void Port_Init(void)
{
        XBR0 = 0x04;//UART0EN=1
        XBR1 = 0x00;
        XBR2 = 0x40;//enable XBAR
        P0MDOUT |= 0x01;// enable TX0 as a push-pull output          
}

void T1_Init_M2(void)
{
        CKCON |= 0x10; //T1M=1 : SYSCLK(16M)
        ET1 = 0; //IE.3=0 : disable T1 interrupt
        TMOD |= 0x20; //GATE1=0, CT1=0:Timer, T1M1:T1M0=10:MODE2(8-bit Auto)        
        TL1 = 0xF3;
        TH1 = 0xF3; //BaudRate=16M/32/(00-F3)=38461≈38400
        TR1 = 1;
}

void UART0_Init_M1(void)
{
        PCON = PCON  & 0x3F; //SMOD0=0,SSAT0=0:SM20~SM00
        SCON0 = 0x50; //SM00~SM10=01:MODE1, SM20=0:忽略stop bit, REN0=1, TB80=0, RB80=0, TI0=0, RI0=0

        TCLK0 = 0; //T2CON.4=0:send clk : T1
        RCLK0 = 0; //T2CON.5=0:recv clk : T1
        T1_Init_M2();

        ES0 = 1; //IE.4=1: Enable UART0 interrupt
}

void main(void)
{
        SP = 0x30; //stack pointer

        EA = 0;                //disable WDT
        WDTCN = 0xDE;
        WDTCN = 0xAD;
        EA = 1;

        OSCICN = 0x17;        //内部OSC=16MHz

        Port_Init();

        UART0_Init_M1();

        SBUF0 = 0x50;

        while(1);
}

121

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-16 01:53 | 显示全部楼层
很久以前做过,也很想解答,
但是...找不到源码了...

回复

使用道具 举报

85

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-16 22:58 | 显示全部楼层
唉!
在keil里面单步也能看到TI0被置位了(for(j=0; j<250; j++)这样的延时要用到10个才能看到TI0被置位,不知为何,需要这么长的时间吗?),但是串口调试精灵就是接受不到数据,波特率和数据格式都没有错啊,用的是新华龙的开发板,硬件上也应该是没有问题的。
望能解答一下!

回复

使用道具 举报

96

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-18 09:14 | 显示全部楼层
看看是不是电平转换的片坏了

回复

使用道具 举报

106

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-7-18 18:06 | 显示全部楼层
问题解决了。原来是没有选择c8051F驱动,而是下到软件仿真器了。
总结自己的一点心得:一定要在keil里面确认不是“Use Simulator”;一定要认真核对字符格式、波特率;如果使用中断的话要打开中断;注意是不是需要在串口调试器里面勾选“十六进制”。
一般注意这几点就没有问题了。
另外发现,在调试器里面发一串数下去,收到的数没有100%的正确率,我在软件里面是收到一个字符就发一个字符,不是收完一串再发出去,不知道这会不会有问题?

回复

使用道具 举报

88

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2009-8-22 16:30 | 显示全部楼层
顶一个!

回复

使用道具 举报

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

关闭

站长推荐上一条 1/7 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

词云| Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-7-13 23:59 , Processed in 0.213110 second(s), 27 queries , Gzip On, MemCache On.

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