打印

pic30f4012芯片串口误区

[复制链接]
2088|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(评论),谢谢!

使用特权

评论回复
5
hefeili|  楼主 | 2010-4-4 10:27 | 只看该作者
我源码看了。他不是直接进中段的。是用中段查询的。我用查询程序也正常的,但用2个中段一起就有错误了。哎。。

使用特权

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

本版积分规则

4

主题

23

帖子

1

粉丝