OpenEdv-开源电子网

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

STM32F407 使用串口2连接CH340,做485通讯,可以发送,但不能接收

[复制链接]

1

主题

3

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-5-16
在线时间
3 小时
发表于 2019-5-25 11:19:17 | 显示全部楼层 |阅读模式
1金钱
调试的时候,Res初始为0x00,用串口调试工具发送一个‘A’后,值变为0X0A,并且不论发送什么,Res都为0X0A.使用RS485_byte()函数可以正常发送

硬件上连接:485_Rx 和串口2和CH340连接
软件:
main.c
int main(void)
{
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
        delay_init(168);                //延时初始化  
        RS485_init(9600);
       
        while(1)
        {       
        }
}

RS485.C

void RS485_byte(u8 d)  //485发送一个字节
{

  RS485_RE_1;
  USART_SendData(USART2, d);
           while(USART_GetFlagStatus(USART2,USART_FLAG_TC)==RESET);
  USART_ClearFlag(USART2,USART_FLAG_TC );

        RS485_RE_0;
}


void USART2_IRQHandler(void)                        //串口2中断服务程序
{
        if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)  //接收中断(接收到的数据必须是0x0d 0x0a结尾)
        {
                Res =USART_ReceiveData(USART2);      //(USART2->DR);        //读取接收到的数据
        }
}




捕获.PNG

最佳答案

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

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2019-5-25 11:19:18 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 21:34

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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