OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9300|回复: 7

做485通信,发送数据和接收数据不一样是什么原因?

[复制链接]

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-1-16
在线时间
0 小时
发表于 2014-1-18 20:46:45 | 显示全部楼层 |阅读模式
RT?查了资料说是波特率的缘故。。。。
贴程序
#include "pbdata.h"

void RCC_Configuration(void);
void GPIO_Configuration(void);
void NVIC_Configuration(void);
void USART_Configuration(void);
int main(void)
{  
    RCC_Configuration(); //系统时钟初始化
    GPIO_Configuration();//端口初始化
NVIC_Configuration();
USART_Configuration();
    while(1);
}

void RCC_Configuration(void)
{
    SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//启动复用模式
}

void GPIO_Configuration(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
//TX
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//口线反转速度
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Init(GPIOA,&GPIO_InitStructure);
//RX
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA,&GPIO_InitStructure);

}
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn; 
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1; 
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 
NVIC_Init(&NVIC_InitStructure);
}
void USART_Configuration(void)//串口配置
{

USART_InitTypeDef  USART_InitStructure;

  USART_InitStructure.USART_BaudRate=9600;
USART_InitStructure.USART_WordLength=USART_WordLength_8b;
USART_InitStructure.USART_StopBits=USART_StopBits_1;
USART_InitStructure.USART_Parity=USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl=USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//打开接受中断
USART_Cmd(USART1,ENABLE);//打开外设

USART_ClearFlag(USART1,USART_FLAG_TC);//清空标识位

}

中断服务程序
void USART1_IRQHandler(void)
{
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)
   {
USART_SendData(USART1,USART_ReceiveData(USART1));
while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);
   }
}



正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-1-18 23:00:14 | 显示全部楼层
回复【楼主位】DOVE:
---------------------------------
先调通串口,再调485就很简单了。
串口通信通信有无问题?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-1-16
在线时间
0 小时
 楼主| 发表于 2014-1-19 23:06:55 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
通信是有的。。。但是用串口监控看到发送和接收到的数据不一样,用断点看是发现能够进到中断的,这是为什么?软件原因还是硬件原因?
串口调通?什么意思?我能找到USB转485的COM口。。。这算不算调通。。。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165536
金钱
165536
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-1-19 23:41:23 | 显示全部楼层
回复【3楼】DOVE:
---------------------------------
你的开发板是不是我们的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-1-16
在线时间
0 小时
 楼主| 发表于 2014-1-24 18:20:12 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
学的时候用的是。。。最早的原子的MINI的板子,现在在跟学长做个小项目。。。就遇到了这个问题。。。求不吝赐教。。。。
回复 支持 反对

使用道具 举报

28

主题

95

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
313
金钱
313
注册时间
2013-10-11
在线时间
38 小时
发表于 2014-1-24 18:56:49 | 显示全部楼层
485是半双工的,可能是你发送数据需置位发送端口,如果没有加延时会导致数据错误。
另外,波特率,数据位数,停止位和奇偶校验不对,都会导致数据错误。
回复 支持 反对

使用道具 举报

2

主题

17

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2014-1-16
在线时间
0 小时
 楼主| 发表于 2014-1-24 19:03:02 | 显示全部楼层
回复【6楼】netmouse:
---------------------------------
回复【6楼】netmouse:
---------------------------------
96N81,模式,不知道是不是硬件问题,。。这两天看看
多谢
回复 支持 反对

使用道具 举报

7

主题

33

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
388
金钱
388
注册时间
2012-6-25
在线时间
61 小时
发表于 2014-2-8 09:58:05 | 显示全部楼层
你的485接收控制端控制了吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-9 19:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表