打印
[PIC®/AVR®/dsPIC®产品]

PIC18F252串口发送问题

[复制链接]
1451|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
帧的格式设置一致吗?

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

我配置成八位数据发送,没有校验位,串口助手也没用校验位,示波器怎么看

使用特权

评论回复
5
lanmp| | 2014-11-18 11:13 | 只看该作者
hwt1990114 发表于 2014-11-18 10:38
我配置成八位数据发送,没有校验位,串口助手也没用校验位,示波器怎么看 ...

你做硬件的么?不会看示波器?

使用特权

评论回复
6
yewuyi| | 2014-11-18 13:02 | 只看该作者
hwt1990114 发表于 2014-11-18 10:38
我配置成八位数据发送,没有校验位,串口助手也没用校验位,示波器怎么看 ...

不会用示波器吗?

使用特权

评论回复
7
yklstudent| | 2014-11-18 21:07 | 只看该作者
配置位,时钟,USART寄存器设置
一切都正确合理设置了,软件方面就基本没甚么问题了
硬件也可以看看

使用特权

评论回复
8
hwt1990114|  楼主 | 2014-11-19 18:48 | 只看该作者
yklstudent 发表于 2014-11-18 21:07
配置位,时钟,USART寄存器设置
一切都正确合理设置了,软件方面就基本没甚么问题了
硬件也可以看看 ...

是硬件问题,出在MAX232芯片上

使用特权

评论回复
9
shuidi_wangdan| | 2014-11-20 09:24 | 只看该作者
while(!TXSTA1bits.TRMT);是不是应该这样写?!

使用特权

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

本版积分规则

16

主题

51

帖子

1

粉丝