打印

PIC16F886,进不了串口接收中断。求教。程序没几行【已解决

[复制链接]
4136|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 小白变大白 于 2013-9-11 11:28 编辑

是232转485的。485有个发送接收使能端,还是以是485的使能端了。谢谢各位
#include <htc.h>
//#include <pic.h>
//#define _XTAL_FREQ 10000000 //4Mhz FRC internal osc
//__CONFIG(FOSC_HS & WDTE_OFF & PWRTE_OFF & MCLRE_ON & CP_OFF & CPD_OFF & BOREN_ON & IESO_ON & FCMEN_ON & LVP_OFF);
//__CONFIG(BOR4V_BOR40V & WRT_OFF);
  __CONFIG(0x28e2);    //外部时钟10M
__CONFIG(0x3eff);
void serial_init();
  
char data = 0;
void serial_init()
{
         TRISB4=0;        /* 使能485*/
        RB4 = 1;

        SPBRG = 64;    /*波特率 */
        SPEN = 1;     /*使能EUART,自动配置RX为输入*/
        RCIE = 1;
        GIE = 1;
        PEIE = 1;     
        CREN = 1;     /*使能接收电路*/
        SYNC = 0;     /*异步操作*/
        
}

void interrupt ISR(void)
{
        if(1 == PIR1bits.RCIF)       /*----- rec interrupt ---*/
        {
                data = RCREG;
        }
}
int main()
{
         serial_init();
/*---------TEST LED-----------*/
         TRISCbits.TRISC0 = 0;
         PORTCbits.RC0 = 0;

         while(1)
         {
                 if(data == 0x55)
                        PORTCbits.RC0 = 1;
        }  
          return 0;
}
沙发
opal11| | 2013-9-10 22:47 | 只看该作者
#include <htc.h>  ??

使用特权

评论回复
板凳
小白变大白|  楼主 | 2013-9-10 22:50 | 只看该作者
opal11 发表于 2013-9-10 22:47
#include   ??

大哥,这没问题吧。datasheet看好几遍了,还是不行。呜~~~~(>_<)~~~~

使用特权

评论回复
地板
NE5532| | 2013-9-11 08:42 | 只看该作者
串口发送调通了没??

使用特权

评论回复
5
yewuyi| | 2013-9-11 08:59 | 只看该作者
PIR1bits.RCIF:结合接受中断容许位一起判断。

你这接受中断也太潦草了吧?

为什么不是:#include <pic.h> ?

IO方向设置正确吗?

中断初始化正确吗?

使用特权

评论回复
6
lidongshuo| | 2013-9-11 09:37 | 只看该作者
RB4 = 1;好像一直在发送,收不到数吧。 RB4 =0试试

使用特权

评论回复
7
yklstudent| | 2013-9-11 09:57 | 只看该作者
感觉写程序不适合楼主 还是玩硬件去好了

使用特权

评论回复
8
NE5532| | 2013-9-11 11:24 | 只看该作者
yklstudent 发表于 2013-9-11 09:57
感觉写程序不适合楼主 还是玩硬件去好了

呵呵,楼主这个就是硬件啊

使用特权

评论回复
9
小白变大白|  楼主 | 2013-9-11 11:29 | 只看该作者
本帖最后由 小白变大白 于 2013-9-11 12:25 编辑
yklstudent 发表于 2013-9-11 09:57
感觉写程序不适合楼主 还是玩硬件去好了

晕,你这也太打击人了,这是个测试程序而已。
几百行的程序能删的我尽量都删了。
==================================================
没看出lz这里的程序哪里高明,不然你也得说出问题我的所在吧
https://bbs.21ic.com/forum.php?mo ... p;page=1#pid3422032

使用特权

评论回复
10
小白变大白|  楼主 | 2013-9-11 11:31 | 只看该作者
本帖最后由 小白变大白 于 2013-9-11 11:35 编辑
yewuyi 发表于 2013-9-11 08:59
PIR1bits.RCIF:结合接受中断容许位一起判断。

你这接受中断也太潦草了吧?

潦草是很潦草,但不至于不对吧。
RCIF是只读的。
IO不需要设置。
初始化正确。
编译器提示 htc.h
lx说对了。不过还是非常谢谢

使用特权

评论回复
11
小白变大白|  楼主 | 2013-9-11 11:52 | 只看该作者
lidongshuo 发表于 2013-9-11 09:37
RB4 = 1;好像一直在发送,收不到数吧。 RB4 =0试试

找半天没找到结贴的地方。

使用特权

评论回复
12
yewuyi| | 2013-9-11 12:21 | 只看该作者
小白变大白 发表于 2013-9-11 11:52
找半天没找到结贴的地方。

首贴旁边,点我要结贴,然后给各个跟帖打分,打分总额必须和悬赏分一致,然后再点结贴给分。

使用特权

评论回复
13
小白变大白|  楼主 | 2013-9-11 12:27 | 只看该作者
这情何以堪。。

20130911_122714.jpg (14.16 KB )

20130911_122714.jpg

使用特权

评论回复
14
yklstudent| | 2013-9-11 12:41 | 只看该作者
本帖最后由 yklstudent 于 2013-9-11 12:42 编辑
小白变大白 发表于 2013-9-11 11:29
晕,你这也太打击人了,这是个测试程序而已。
几百行的程序能删的我尽量都删了。
======================= ...


呵呵 。。。。。。。。。。

使用特权

评论回复
15
小白变大白|  楼主 | 2013-9-18 13:30 | 只看该作者
yklstudent 发表于 2013-9-11 12:41
呵呵 。。。。。。。。。。

呵呵什么呀,阴阳怪气的

使用特权

评论回复
16
yklstudent| | 2013-9-18 20:55 | 只看该作者
小白变大白 发表于 2013-9-18 13:30
呵呵什么呀,阴阳怪气的

靠 我就喜欢呵呵 怎么呢

使用特权

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

本版积分规则

1

主题

11

帖子

1

粉丝