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();
}
}
请高手帮我看看我这个哪里出错了,感激不尽! 找个GPS模块,TTL电平的,连续不断发送数据到RX,查你的程序,直到收到数据。
让别人替你改,你怎么得经验?怎么提高技能? surf_131 发表于 2012-6-15 17:21 static/image/common/back.gif
找个GPS模块,TTL电平的,连续不断发送数据到RX,查你的程序,直到收到数据。
让别人替你改,你怎么得经验 ...
谢谢您的批评,一定听您的! 本帖最后由 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)
这个芯片我没有用过,我只是看手册,对应查到的一点东西;没有实际验证,意见仅供参考; 最近也打算入手PIC18F4580这个芯片学习,主要学学can总线这块,不知道楼主现在用的怎么样了啊 craigtao 发表于 2014-9-10 10:21
最近也打算入手PIC18F4580这个芯片学习,主要学学can总线这块,不知道楼主现在用的怎么样了啊 ...
为什么不用新型号 PIC18F25K80、PIC18F45K80等呢
中英文资料齐全 yklstudent 发表于 2014-9-10 10:55
为什么不用新型号 PIC18F25K80、PIC18F45K80等呢
中英文资料齐全
我现在找了一块二手的,想入门,还有学习一下 1939协议,我是初学者的, craigtao 发表于 2014-9-10 11:11
我现在找了一块二手的,想入门,还有学习一下 1939协议,我是初学者的,
PIC18F4580 这个芯片现在是不是都不用了?
很老了,是吧? 我是来拿经验的!!!!!等待高人回答
页:
[1]