7802|6

8

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

pic18f452串口通信程序纠结问题 [复制链接]

#include<p18cxxx.h>

 

void PIC18F_High_isr(void);  //中断服务函数声明

#pragma code high_vector_section=0x8

void high_vector (void)
{
 _asm goto PIC18F_High_isr _endasm
}

#pragma code


#pragma interrupt PIC18F_High_isr

void PIC18F_High_isr (void)
{
 
PIR1bits.RCIF=0;
// TXREG=RCREG;     把上位机发送的数据再发回上位机,为什么这一句能实现我所想要的功能,而下一句不能


  
 TXREG='A';     //上位机发送数据,单片机发送一个A回来           但问题是发了很多个A回来,这是为什么

 
 

}

void main(void)
{
 DDRDbits.RD7=1 ;
 //TRISC=0X00;
 DDRCbits.RC6 =0 ;   //把RC6的方向设置为输出  
    DDRCbits.RC7 =1 ;     //把RC7的方向设置为输入
 RCSTAbits.SPEN=1;  //设置串口模块  (把RX/DT 和TX/CK 引脚配置为串口引脚)
 TXSTAbits.SYNC=0;  //设置为异步模式
 TXSTAbits.BRGH=1;   //高速
 SPBRG=16000000/64*(1*3+1)/9600-1;   //波特率寄存器置位,9600
 RCSTAbits.CREN=1;  //使能接收
 TXSTAbits.TXEN=1;   //使能发送
 
 IPR1bits.RCIP=1;   //高优先级
 PIE1bits.RCIE=1;   //串口接收中断使能
// PIE1bits.TXIE=1;  

 INTCONbits.PEIE=1;  //外设中断使能,使能所有未被屏蔽的外设中断
 INTCONbits.GIE=1;
// PIR1bits.RCIF=0;
 
 while(1)
 {
 }

}

 

 

 

 

问题写在中断代码的右边了

 

问题.jpg (21.49 KB, 下载次数: 4)

问题的现象

问题的现象

最新回复

中断里代码不是这样写的。  详情 回复 发表于 2012-7-3 09:08
点赞 关注
 

回复
举报

15

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
有人有18FXXXX USB 通信方面的资料吗?
初学  求啊
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
hehe  pic串口中断不是这样搞的!发出很多a正常

点评

大神,求指点呀  详情 回复 发表于 2012-7-2 20:42
 
 
 

回复

18

帖子

0

TA的资源

一粒金砂(初级)

4
 
路过此地
 
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

5
 

回复 板凳 afei9527 的帖子

大神,求指点呀
 
 
 

回复

241

帖子

0

TA的资源

一粒金砂(高级)

6
 
可能是你发下去的数据没有读走,所以它一直进入中断了,断点调试下
 
 
 

回复

36

帖子

0

TA的资源

一粒金砂(中级)

7
 
中断里代码不是这样写的。
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表