初级会员

- 积分
- 57
- 金钱
- 57
- 注册时间
- 2015-5-12
- 在线时间
- 0 小时
|
5金钱
电脑串口接收不到数据 不知道哪里的原因
485与串口3链接
PB11---RX
PB10--TX
PB9控制发送接收还有下图不知道链接正确否就是usb转串口(usb转串口芯片ch430)一端链接电脑一端与stm32f103rct链接 链接是A对A B对B然后用一根usb线供电
/* Includes ------------------------------------------------------------------*/
#include "usart.h"
#include "delay.h"
#include "sys.h"
u8 RS485_RX_BUF[64];
void RS485_Init(void);
int main(void)
{
delay_init();
NVIC_Configuration();
RS485_Init();
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
while(1);
}
void USART3_IRQHandler(void)
{
u8 res;
if(USART_GetITStatus(USART3,USART_IT_RXNE)!=RESET)
{
res=USART_ReceiveData(USART3);
GPIO_SetBits(GPIOB,GPIO_Pin_9);
delay_ms(1);
USART_SendData(USART3,res);
while(USART_GetFlagStatus(USART3,USART_FLAG_TC) == RESET);
delay_ms(2);
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
}
}
void RS485_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
USART_InitTypeDef USART_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9; //RS485CRT
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10; //TX
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_11; //RX
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOB,&GPIO_InitStructure);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3,ENABLE);
RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3,DISABLE);
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(USART3,&USART_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel=USART3_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
NVIC_InitStructure.NVIC_IRQChannelSubPriority=3;
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;
NVIC_Init(&NVIC_InitStructure);
USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);
USART_Cmd(USART3,ENABLE);
GPIO_ResetBits(GPIOB,GPIO_Pin_9);
}
|
最佳答案
查看完整内容[请看2#楼]
回复【9楼】YQDRAGON:
---------------------------------
谢谢大家的支持问题解决了是数据格式的问题
|