搜索
bottom↓
回复: 2

串口进不了中断,请教马老师,谢谢!

[复制链接]

出0入0汤圆

发表于 2008-2-20 19:40:22 | 显示全部楼层 |阅读模式
使用icc编译
串口调试助手发送1,但是助手收不到数据啊
查看eeprom里已经写入值了
请老师指点

#include <iom16v.h>
#include "macros.h"                //        常用的宏定义
#include "eeprom.h"
#include "stdio.h"
#define uchar unsigned char
#define uint unsigned int
//eeprom区定义  
#pragma data:eeprom  
char table[]={0x01,0x02,0x03,0x04,0x05};  
#pragma data: data  

uchar *q=table;
int flag=UDR;
int i;  
void uart0_init(void)
{
UCSRB = 0x00; //disable while setting baud rate
UCSRA = 0x00;
UCSRC = BIT(URSEL) | 0x06;
UBRRL = 0x33; //set baud rate lo
UBRRH = 0x00; //set baud rate hi
UCSRB = 0x98;
}
/***************************************   
串口输出函数
****************************************/   
void putc(unsigned char c)   
    {         
          while (!(UCSRA&(1<<UDRE)));                                       
      UDR=c;        
    }   


#pragma interrupt_handler uart0_rx_isr:12
void uart0_rx_isr(void)
{
//uart has received a character in UDR
  
if(flag==1)
{
for(i=0;i<=4;i++)  
   {  
    putchar(EEPROMread((unsigned int)(q++)));
   }  
}

}      

void main()  
{   
CLI();
uart0_init();
SEI();

    while(1)
        {
        ;
        }
}

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

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2008-2-24 18:09:20 | 显示全部楼层
最好的方法是用Studio软仿真一下,看什么地方没有设置。

出0入0汤圆

发表于 2008-2-28 16:11:26 | 显示全部楼层
建议LZ买本我的<M16>书参考学习吧.里面关于USART和RS232有2章内容.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-7-23 09:28

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

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