打印
[AVR单片机]

串口求助!!!!!!!!!!!!!!!!!!!!!!!!

[复制链接]
1768|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
89C51RX|  楼主 | 2007-11-22 01:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
//*****************************************************************************************
晶振   3.6864M
波特率 9600
MCU    ATMEGA128L
*****************************************************************************************/
#include <avr/io.h>
#include <inttypes.h>
#include <stdint.h>
#include <avr/interrupt.h>
#include <avr/pgmspace.h>
uint16_t i;
/*****************************************************************************************
*****************************************************************************************/
void chushi(void)
{
    UCSR0C = 0x06;
    UBRR0L = 0X16;
    UBRR0H = 0X00;
    UCSR0A = 0x00;
    UCSR0B = (1<<TXCIE0)|(1<<TXEN0)|(1<<UDRIE0); //使能接收,使能发送
    SREG|=0X80;
}
/*****************************************************************************************
*****************************************************************************************/
SIGNAL(SIG_UART0_RECV)
{
}
SIGNAL(SIG_UART0_DATA)
{
}
SIGNAL(SIG_UART0_TRANS)
{
}
/*****************************************************************************************
*****************************************************************************************/
int main(void)
{
    chushi();
    while(1)
    {
        for(i=0;i<65530;i++);
        if(UDRE0)UDR0=0X00;
        for(i=0;i<65530;i++);
        if(UDRE0)UDR0=0Xaa;
        for(i=0;i<65530;i++);
        if(UDRE0)UDR0=0X00;
        for(i=0;i<65530;i++);
        if(UDRE0)UDR0=0X55;
    }
}

用串口收到这写数
D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 26 E6 00 D8 FE 00 36 F6 00 D8 FE 00 26 E6 00 D8 FE 00 36 F6 00 D8 FE 00 26 E6 00 D8 FE 

不知道那里有问题,请大侠帮忙.谢谢!!

相关帖子

沙发
hotpower| | 2007-11-22 01:36 | 只看该作者

肯定是配置不对~~~自己好好检查~~~

使用特权

评论回复
板凳
computer00| | 2007-11-22 01:41 | 只看该作者

最好用示波器看看波特率...然后再推测哪配置错了...

使用特权

评论回复
地板
testcode| | 2007-11-22 01:53 | 只看该作者

UBRR0L = 0X17;

使用特权

评论回复
5
hotpower| | 2007-11-22 02:12 | 只看该作者

哈哈~~~西方人俺该去迷糊了~~~假夜猫子~~~886

使用特权

评论回复
6
hotpower| | 2007-11-22 06:45 | 只看该作者

调试串口的技巧

使用特权

评论回复
7
89C51RX|  楼主 | 2007-11-22 12:27 | 只看该作者

以前一直用51都没有问题啊

以前一直用51串口都没有问题啊,我用的是U->串口线 
我没有示波器,看不到波形
void chushi(void)
{
    UCSR0C = 0x06;//8位数据,1位停止,校验无
    UBRR0L = 0X17;//波特率  9600  书上表格是23
    UBRR0H = 0X00;
    UCSR0A = 0x00;
    UCSR0B = (1<<TXCIE0)|(1<<TXEN0)|(1<<UDRIE0); //使能接收,使能发送
    SREG|=0X80;  //开总中断
}
还是不对,看过不少别人的程序,没找到问题,所以在这求助.
谢谢各位回复!!

使用特权

评论回复
8
hotpower| | 2007-11-22 13:07 | 只看该作者

一试变知~~~

使用特权

评论回复
9
rcengtian| | 2007-11-23 14:52 | 只看该作者

串口调试工具不会错吧?

?

使用特权

评论回复
10
hotpower| | 2007-11-26 03:34 | 只看该作者

俺就不明白串口就不和俺作对呢...郁闷之中~~~

使用特权

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

本版积分规则

57

主题

151

帖子

0

粉丝