永发信息网

pic单片机串口问题

答案:3  悬赏:70  手机版
解决时间 2021-02-11 20:01
最近在用单片机接收gps模块的数据,写了个简单的从串口发送数据到pc机的程序,但是pc机上收到的并不是我发送的字符,大侠们帮忙分析是什么原因,
#include
#include
#include
__CONFIG(0x37E2);
__CONFIG(0x0FFF);

#define uchar unsigned char
#define uint unsigned int

void Uart_Init(void)
{
RXDTSEL=0; //RC5脚为接收引脚
TXCKSEL=0; //RC4脚为发送引脚
TRISC=0x20; //配置rc5脚为输入,其他为输出
//PORTC=0x00; //PORTC初始化为0
RC3=0;
RC2=0;
TXSTA=0x24; //发送使能,异步通信,高波特率
RCSTA=0x90; //串口使能,使能接收
SPBRG=51; //波特率为9600,fosc为8MHZ
}

void
putch(unsigned char byte)
{

while(!TXIF)
continue;
TXREG = byte;
}

void main(void)
{
Uart_Init(); //初始化串口
while(1)
{
RC2=1; //RC2脚拉高
putch('c');
}
}
单片机芯片是pic16F1823,晶振是8Mhz
最佳答案
貌似SPBRG算错了,51是1200BPS。。。
全部回答
pic下载通常分2种: 焊接前用烧录机烧录,然后下载 用下载工具,如icd2,pickit3等 还有一种办法,就是内置了bootload,pic的做过功能要自己实现,可以通过诸如串口,i2c等等各市县,主要看boot的实现
PIC久没摸了,寄存器也全忘了,可我只在这给你谈谈串口调试的经验,第一在刚开始时最好用低波特率调试,如1200甚至用600,这样先把时钟上的误差,硬件上的原因排出,在能收到后再加高波特率,在这加高过程中你有可能看到很多怪现象,多半就因这二个原因造成的,这是很重要的,很多一来就用高波特率给自己找了很多麻烦,再就是通讯机两边的各种位数一定要设的一致,这再试试去吧,
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
神经性皮炎用什么药
荣威i6这款车怎么样!性价比高吗?家用
【求它的面积.一一一一一一一 】
大专生家长的意见
梅州万达广场是不是开了本色酒吧
【乃至的意思】...然后乃至大顺。”这句话中
lol解裁决之镰打人机挂着机可以解吗
骑在牛背上的主人随着牛的身体上下起伏合并成
基德的英文怎么写
WIN7 旗舰版 64位操作系统为什么单机游戏的外
【慢跑的好处】...有以下要求:一、慢跑流行二
icon Utrack 声卡如何取消耳机监听?
肯德基员工辞职后养老保险的问题
2019年重难点手册七年级数学上册人教版答案
注申请拍拍贷需要什么条件
推荐资讯
校级运动会铅球标准
在广东为社保.可以转回重庆去吗?
加速世界完全物理加速要消耗99%的加速点是谁
老人总咳嗽怎么回事
一种海产品,类似螃蟹,到底是什么东西?
KP-56 那个那个 渚小学生般的身体超恼杀 的种
一个分数,分子与分母之和是92,如果分子和分母
隐球菌病的传染源主要是A.猫B.人C.猪D.狗E.鸽
animgif lwp 2耗电吗
803.为什么灼烧会使伤口迅速愈合?什么原理?
牛角沱平价副食地址在什么地方,想过去办事
聚贤菜这个地址在什么地方,我要处理点事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?