pic30f4012芯片串口误区

[复制链接]
3155|4
 楼主| hefeili 发表于 2010-3-31 18:24 | 显示全部楼层 |阅读模式
#include "p30f4012.h"
#include<math.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#define nop "nop"
void UartInit();
int a[32];
main()
{
    UartInit();
    while(1)
    {
      nop;
    }
}
void UartInit()
{
U1MODEbits.UARTEN=0;
U1BRG=((1843200/16)/57600)-1;
U1MODEbits.USIDL =0;
U1MODEbits.PDSEL =0;
U1MODEbits.STSEL =0;
U1MODEbits.ALTIO = 1;
U1STAbits.UTXISEL =1;
    U1STAbits.URXISEL =3;
    IEC0bits.U1RXIE =1;
    IEC0bits.U1TXIE =1;
IFS0bits.U1RXIF =0;
    IFS0bits.U1TXIF =0;
U1MODEbits.UARTEN =1;
U1STAbits.UTXEN =1;

}
void __attribute__((__interrupt__)) _U1TXInterrupt(void)
{
IFS0bits.U1TXIF =0;
int *pint;
pint=&a[0];
while(!U1STAbits.UTXBF)
{  
        
  U1TXREG=*pint++;
}
}
void __attribute__((__interrupt__)) _U1RXInterrupt(void)
{
IFS0bits.U1RXIF =0;
    int *pint;
    pint=&a[0];
while(U1STAbits.URXDA)
{
  *pint++=U1RXREG;
  
  
}
}
为什么这个程序运行时,接受中段进不去呢?
 楼主| hefeili 发表于 2010-4-2 16:33 | 显示全部楼层
高手在哪啊?帮忙解决下啦。:'(
e掾木 发表于 2010-4-3 07:52 | 显示全部楼层
自己去下载代码例程,自己捣鼓。MCHP有现成的代码。
歪 歪 发表于 2010-4-3 10:50 | 显示全部楼层
用辅助工具帮助调试一下,也许你进入中断了,只是陷在里面一直出不来。

下载地址:
http://download.cnet.com/ComTrac ... 6892.html?tag=mncol

感觉好别忘了给个review(评论),谢谢!
 楼主| hefeili 发表于 2010-4-4 10:27 | 显示全部楼层
我源码看了。他不是直接进中段的。是用中段查询的。我用查询程序也正常的,但用2个中段一起就有错误了。哎。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

23

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部