[PIC®/AVR®/dsPIC®产品] PIC18F252串口发送问题

[复制链接]
1766|8
 楼主| hwt1990114 发表于 2014-11-18 09:58 | 显示全部楼层 |阅读模式
我往TXREG 写入的数据,与在串口助手上接受的数据不同,我看了波特率都是9600

#include  "ADC_Config.H"
#include<htc.h>
#include<pic18.h>
#include<stdio.h>
#include "constant.h"
#include "usart.h"
#include "timer.h"
#include "DAC.h"
int  Recdata[5]={0x22,0x13,0x34,0x56,0x67};
void delay(int x)
{  
    int a=0,b=0;
    for(a=x;a>0;a--)
     for(b=110;b>0;b--);
}

void main()
{
  TRISC=0xf0;    //配置引脚
  SPEN=1;        //使能串口引脚   
  BRGH=0;        //低速模式
  SPBRG=0x19;      //9600波特率
  SYNC=0;        //异步模式
  TX9=0;        //8位数据发送
  
  while(1)
   {
    int i=0;
    delay(100);
    delay(100);
    for(i=0;i<5;i++)
    {   
      TXEN=1;
      TXREG=Recdata[i];
      while(!TRMT);
      TXEN=0;
    }
      
    while(1);
   }
}
yewuyi 发表于 2014-11-18 10:08 | 显示全部楼层
帧的格式设置一致吗?

例如发送有无校验位?接受时有没有上发送方的设置一样?
yewuyi 发表于 2014-11-18 10:08 | 显示全部楼层
自己用示波器一看波形就知道了。
 楼主| hwt1990114 发表于 2014-11-18 10:38 | 显示全部楼层
yewuyi 发表于 2014-11-18 10:08
帧的格式设置一致吗?

例如发送有无校验位?接受时有没有上发送方的设置一样? ...

我配置成八位数据发送,没有校验位,串口助手也没用校验位,示波器怎么看
lanmp 发表于 2014-11-18 11:13 | 显示全部楼层
hwt1990114 发表于 2014-11-18 10:38
我配置成八位数据发送,没有校验位,串口助手也没用校验位,示波器怎么看 ...

你做硬件的么?不会看示波器?
yewuyi 发表于 2014-11-18 13:02 | 显示全部楼层
hwt1990114 发表于 2014-11-18 10:38
我配置成八位数据发送,没有校验位,串口助手也没用校验位,示波器怎么看 ...

不会用示波器吗?
yklstudent 发表于 2014-11-18 21:07 | 显示全部楼层
配置位,时钟,USART寄存器设置
一切都正确合理设置了,软件方面就基本没甚么问题了
硬件也可以看看
 楼主| hwt1990114 发表于 2014-11-19 18:48 | 显示全部楼层
yklstudent 发表于 2014-11-18 21:07
配置位,时钟,USART寄存器设置
一切都正确合理设置了,软件方面就基本没甚么问题了
硬件也可以看看 ...

是硬件问题,出在MAX232芯片上
shuidi_wangdan 发表于 2014-11-20 09:24 | 显示全部楼层
while(!TXSTA1bits.TRMT);是不是应该这样写?!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

51

帖子

1

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