搜索
bottom↓
回复: 7
打印 上一主题 下一主题

《深入浅出AVR-从ATMega48/88/168开始》中串口调试失败!【恢复】

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2008-12-21 23:22:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
今天终要学AVR了,买了本《深入浅出AVR-从ATMega48/88/168开始》回来了!

本来对51就有一定的基础!所以先试试串口试验!但没想到见到难题了!

我是按照光盘上的线路图做了一个串口试验版!把ADO也接好了!

芯片=M8

电平芯片=max232cpe

max232cpe电容用的是103P



接AD0,

接ISP(用USB做的那个,M8做芯片)

取电:直接用ISP,USB  5V电源



代码用光盘中的代码





/*********************************************************/

/*                                                       */

/*         第2篇第8章 串口校准发送测试 源程序            */

/*                                                       */

/*                   编写:江海波                        */

/*                                                       */

/*                2007-03       V1.0                     */

/*                                                       */

/*         提示 : 本程序仅随本书使用,保留版权            */

/*              实例代码用于工程时应谨慎!               */

/*                                                       */

/*             E-mail : soundman@sohu.com                */

/*                                                       */

/*********************************************************/



#include "iom48v.h"

#include "macros.h"



void uart0_init(void)

{

        UCSR0A = 0x02;                                        //使用波特率倍增,不使用多从机模式

        UCSR0C = 0x06;                                        //异步串口模式,禁止奇偶校验,1位停止位,8-bit帧模式

        UBRR0L = 0x0C;                                        //设置波特率,9600

        UBRR0H = 0x00;

        UCSR0B = 0x98;                                        //允许接收完成中断使能,禁止发送完成中断,禁止发送寄存器空中断,允许接收,允许发送

}



void Delay_ms(unsigned int Time)

{

    unsigned char n=0;

    while(Time>0)

    {

        for (n=1;n<187;n++)

        {

            NOP();

        }

        Time--;

    }

}



void main (void)

{

    unsigned char SendData = 0xFF;

    

    uart0_init();

    

    do

    {

        while(!(UCSR0A&(1<<UDRE0)));

        UDR0 = SendData;

        SendData--;

    }

    while(SendData != 0xFF);

    

    while(1);

}

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

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入296汤圆

2
发表于 2008-12-31 23:09:23 | 只看该作者
检查MAX232与单片机接地是否正确。

你用的芯片是M8,但是那个程序是基于M48的……你用ICC设置正确么?

出0入0汤圆

3
发表于 2008-12-31 21:48:30 | 只看该作者
请检查单片机是否正确运行了程序,时钟配置是否正确。在串口章节,有一个测试性的发送程序,可以先用那个程序烧进去,吧硬件调通。



调试就是这样,如果通讯没有好,就先不要加上层建筑(AD),等通讯已经搞定了,再往上加码。



如果还有问题,可以在这里讨论或者给我邮件。

出0入0汤圆

4
 楼主| 发表于 2008-12-21 23:35:05 | 只看该作者
短接TXD和RXD后,用实例15 数字电压表后台软件中,串口检测可以能过!

请问是什么回事啊?

出0入0汤圆

5
 楼主| 发表于 2008-12-21 23:32:11 | 只看该作者
串口调试助手出现狂收数据!全部是000000000000000000000000000000000000000000000

用光盘自带的实例15 数字电压表后台软件在接收显示区中也是狂收到此为0000000000000000000000000000000000



 (原文件名:1.JPG) 





 (原文件名:2.jpg) 

出0入0汤圆

6
发表于 2019-1-21 06:57:40 | 只看该作者
Gorgon_Meducer 发表于 2008-12-31 23:09
检查MAX232与单片机接地是否正确。

你用的芯片是M8,但是那个程序是基于M48的……你用ICC设置正确么? ...

《深入浅出AVR-从ATMega48/88/168开始》这本书有完整版下载链接吗?我想自己打印成多个小册一点一点学习。

出0入296汤圆

7
发表于 2019-1-21 19:29:32 | 只看该作者
hidden 发表于 2019-1-21 06:57
《深入浅出AVR-从ATMega48/88/168开始》这本书有完整版下载链接吗?我想自己打印成多个小册一点一点学习 ...

很遗憾,目前只有淘宝上可以找到扫描版或者复印版。

出0入0汤圆

8
发表于 2019-1-21 19:32:04 来自手机 | 只看该作者
第一次近距离接近大师。^O^
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 22:36

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

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