whyisp 发表于 2012-6-15 09:16:37

PIC18F4580 串口调试助手接收不到数据?求高手指点

#include <htc.h>
#include <pic18.h>

__CONFIG(1, INTCLKO);//INTIO 使用内部晶振 波特率9600bps
__CONFIG(2, PWRTEN & BOREN & BORV28 & WDTDIS);

void OSCInit(void);

void main()
{

    TRISC7 = 0;//TX1
    TRISC6 = 1;//RX1
    TRISD = 0 ;
    PORTD = 0 ;
    TXSTA = 0;         
    RCSTA = 0;

    SYNC = 0;//Async operation

    SPBRGH = 0;//Baud Rate Generator Register High Byte
    SPBRG = 0x19;//Baud Rate Generator Register Low Byte
    BRGH = 1;//High Baud Rate Select
    BRG16 = 1;//16-bit Baud Rate Register Enable
   
    SPEN = 1;//Serial Port Enable
    CREN = 1;//Continuous Receive Enable
    TXEN = 1;//Transmit Enable
   
    while(1)
        {
        if(RCIF==1)
        PORTD =0XFF;
        }
}

void OSCInit(void)//4Mhz
{
        IRCF2 = 1;
        IRCF2 = 1;
        IRCF0 = 0;
        while(!OSTS)
        {
        NOP();
        }
        while(!IOFS)
        {
        NOP();
        }
}

请高手帮我看看我这个哪里出错了,感激不尽!

surf_131 发表于 2012-6-15 17:21:29

找个GPS模块,TTL电平的,连续不断发送数据到RX,查你的程序,直到收到数据。
让别人替你改,你怎么得经验?怎么提高技能?

whyisp 发表于 2012-6-17 07:58:35

surf_131 发表于 2012-6-15 17:21 static/image/common/back.gif
找个GPS模块,TTL电平的,连续不断发送数据到RX,查你的程序,直到收到数据。
让别人替你改,你怎么得经验 ...

谢谢您的批评,一定听您的!

adjda 发表于 2012-6-18 17:27:09

本帖最后由 adjda 于 2012-6-18 17:42 编辑

初始化内置震荡为4MHz的这三句:
      IRCF2 = 1;
      IRCF2 = 1;
      IRCF0 = 0;
是不是要改成:
   IRCF2 = 1;
         IRCF1 = 1;
         IRCF0 = 0;
你原先的语句,IRCF1 没有配置,默认为0;当然,如果你就是用2MHz,这个没有问题;
另,OSCCON最低2位还需要设置成 1X,选择内部时钟模块(手册,page 36)

这个芯片我没有用过,我只是看手册,对应查到的一点东西;没有实际验证,意见仅供参考;

craigtao 发表于 2014-9-10 10:21:45

最近也打算入手PIC18F4580这个芯片学习,主要学学can总线这块,不知道楼主现在用的怎么样了啊

yklstudent 发表于 2014-9-10 10:55:41

craigtao 发表于 2014-9-10 10:21
最近也打算入手PIC18F4580这个芯片学习,主要学学can总线这块,不知道楼主现在用的怎么样了啊 ...

为什么不用新型号 PIC18F25K80、PIC18F45K80等呢
中英文资料齐全

craigtao 发表于 2014-9-10 11:11:36

yklstudent 发表于 2014-9-10 10:55
为什么不用新型号 PIC18F25K80、PIC18F45K80等呢
中英文资料齐全

我现在找了一块二手的,想入门,还有学习一下 1939协议,我是初学者的,

craigtao 发表于 2014-9-10 11:14:59

craigtao 发表于 2014-9-10 11:11
我现在找了一块二手的,想入门,还有学习一下 1939协议,我是初学者的,

PIC18F4580 这个芯片现在是不是都不用了?
很老了,是吧?

120542121 发表于 2014-10-16 22:48:44

我是来拿经验的!!!!!等待高人回答
页: [1]
查看完整版本: PIC18F4580 串口调试助手接收不到数据?求高手指点