搜索
bottom↓
回复: 15

ATMEGA168用串口调试助手进行调试。接收也接收不到数据,发送也发送不了数据。【恢复

[复制链接]

出0入0汤圆

发表于 2009-1-17 10:58:46 | 显示全部楼层 |阅读模式
Gorgon Meducer 傻孩子:

=============================

我现在用的是ATMEGA168单片机。5V供电。频率8M。

想使用它的串口进行数据传输。使用MAX232进行电平转换。使用中断方式。

以下是代码。使用串口调试助手进行调试。接收也接收不到数据,发送也发送不了数据。

想请Gorgon Meducer 傻孩子给看一下。谢谢!







#include "iom168v.h"

#include "stdio.h"

#include "math.h"

#include "string.h"

#include "macros.h"

#include "ctype.h"



#define uchar unsigned char

#define uint unsigned int



#pragma interrupt_handler USART_Transmit:20

#pragma interrupt_handler USART_Receive:19





volatile float height=2.0;   //实际当前高度

volatile signed char h=12;    //设定高度













void initialize(void);

void USART_Init(void);













void main(void)

{

  

  initialize();

  

  

  

  USART_Init();

  

  

  

   

 while(1)

  {

  

  

  

  

  }

}









void initialize(void)

{

  DDRB=(1<<PB0)|(1<<PB3)|(1<<PB5);

  PORTB=(1<<PB3)|(1<<PB5);

  

  DDRC=(1<<PC2)|(1<<PC3);

  

  

  DDRD=(1<<PD1)|(1<<PD2)|(1<<PD6)|(1<<PD7);

  

 

  

  PORTD=(1<<PD0)|(1<<PD1)|(1<<PD2);

  

}













void USART_Init(void)

{

UCSR0B = 0x00;

UCSR0A = 0x00;

UCSR0C = (1<<UCSZ01)|(1<<UCSZ00);

UBRR0L = 0x33;

UBRR0H = 0x00;

UCSR0B = (1<<RXEN0)|(1<<TXEN0)|(1<<RXCIE0)|(1<<TXCIE0);





}











void USART_Receive(void)

{





 h=UDR0;

 

   

  

}







void USART_Transmit(void)

{

  UDR0=height;

}









以下蓝色文字由站长:armok 于:2009-01-18,19:57:02 加入。
你的原标题:“<font color=black>请教Gorgon&nbsp;Meducer&nbsp;傻孩子&nbsp;一个问题
” 不合符规定。请更改成能说明帖子大意的标题

试想一下,如果本论坛的帖子标题清一色的‘帮助!’,‘ADC求救!’等笼统的标题,你在阅读的过程中会造成许多麻烦。

所以本论坛规定:一定要起一个能说明帖子大意的标题。不允许“关于&nbsp;AVR&nbsp;的&nbsp;ADC&nbsp;使用!”这种笼统标题。作为标题,必须说明清楚:

 ①你是在请教问题,还是在介绍有关的知识?

 ②ADC的问题有许多,你是想说那方面的内容?

注意以上两点,标题应该改成如:“请教:ADC&nbsp;可以不使用中断吗?”。

起一个能说明帖子大意的标题,除了减轻我们的帖子分类整理工作,还方便其它人阅读,节省大家的时间。

注:使用合格的标题,对你来说只是举手之劳,但却会为我们的管理工作提供很大的便利。谢谢你的支持。

&nbsp;

出0入296汤圆

发表于 2009-1-20 21:29:22 | 显示全部楼层
不客气。

出0入0汤圆

 楼主| 发表于 2009-1-20 08:14:25 | 显示全部楼层
谢谢Gorgon&nbsp;Meducer&nbsp;傻孩子&nbsp;!!

出0入296汤圆

发表于 2009-1-19 22:07:56 | 显示全部楼层
……果然是硬件问题……

出0入0汤圆

 楼主| 发表于 2009-1-19 13:13:16 | 显示全部楼层
已经解决!

是串口封装做错了!

谢谢各位的关心!

谢谢!!

出0入0汤圆

 楼主| 发表于 2009-1-19 09:39:22 | 显示全部楼层
现在直接将与电脑相连的DB9的2和3脚短接,在串口调试助手里面发送数据,可是在串口调试助手里仍然收不到任何数据!

请教Gorgon&nbsp;Meducer&nbsp;傻孩子

是什么原因呢?

谢谢!

出0入0汤圆

 楼主| 发表于 2009-1-18 19:34:17 | 显示全部楼层
【9楼】&nbsp;jjj206&nbsp;

=======================



先将MAX232与单片机断开,然后短接单片机到MAX232端的发送和接受

出0入0汤圆

发表于 2009-1-18 18:08:39 | 显示全部楼层
【5楼】&nbsp;sun_changdong&nbsp;



直接在物理上短接后,发送数据,可是还是没有返回.&nbsp;

我检查了硬件,也没有发现什么问题呀!&nbsp;



-------------------------------------------------------------------

你是短接哪里的引脚?



本贴被 jjj206 编辑过,最后修改时间:2009-01-18,18:10:44.

出0入296汤圆

发表于 2009-1-18 16:41:52 | 显示全部楼层
232芯片……电路……串口线或者D型口……都有可能……你可以通过

逐个短接的方法定位

1、先短接计算机出来的D型口里面的2、3脚,看看有无返回

2、短接MAX232芯片到PC的输出端

3、短接MAX232芯片与单片机连接的输入端……

出0入0汤圆

 楼主| 发表于 2009-1-18 16:18:53 | 显示全部楼层
好的!

我再检查检查硬件!感觉硬件没有什么问题的呀?

谢谢!

根据您的经验,一般问题会出在什么地方?

奇怪!

出0入296汤圆

发表于 2009-1-18 16:03:36 | 显示全部楼层
如果短接TXD引脚和RXD引脚就形成了回路,如果无法有数据返回,就是硬件问题。

这一点毋庸置疑。请你仔细检查……不要在软件上浪费时间了。

出0入0汤圆

 楼主| 发表于 2009-1-18 16:01:50 | 显示全部楼层
直接在物理上短接TXD和RXD引脚后,发送数据,可是还是没有返回.

我检查了硬件,也没有发现什么问题呀!

出0入296汤圆

发表于 2009-1-18 14:37:30 | 显示全部楼层
如果发送后没有数据回来,直接在物理上短接TXD和RXD引脚,再通过上位机

法数据,如果无想通数据返回,则可确定是硬件问题。

出0入0汤圆

 楼主| 发表于 2009-1-18 14:18:33 | 显示全部楼层
Gorgon&nbsp;Meducer&nbsp;傻孩子:&nbsp;

=============================&nbsp;

我按着你说的方法试了一下,发送后没有数据回发出来!

不知道是什么原因?

感觉这个地方真是奇怪!

出0入0汤圆

 楼主| 发表于 2009-1-17 17:32:21 | 显示全部楼层
好的!

我试试!

谢谢!

出0入296汤圆

发表于 2009-1-17 14:15:57 | 显示全部楼层
你的初始化代码是没有错的,但是从你的程序中,我无法看出,你有任何发送数据的

操作(没有发送过任何数据),接收的数据也没有任何显示……

你应该修改代码,在void&nbsp;USART_Receive()里面做一个回发操作:



unsigned&nbsp;char&nbsp;TempUDR&nbsp;=&nbsp;UDR0;

UDR0&nbsp;=&nbsp;TempUDR;



然后再电脑上利用串口大师,以9600的波特率发送任意数据,看有没有同样的数据回发

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

本版积分规则

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

GMT+8, 2024-5-4 23:07

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

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