• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32F103的串口透传程序怎么写

chenbourne 2019-01-09 浏览量:3551
STM32F103的串口透传程序怎么写,我想用串口助手去调试SIM800C,单片机用串口2接的sim800c,串口3接的usb转串口工具。这个程序该怎么写
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 很简单:

    配置好两个串口,然后开发送、接收中断。

    写串口中断服务程序。下面我是用寄存器库的方式写的:

    void USART2_IRQHandler(void) //串口2 中断服务
    {
     u8 res; 

     if(USART2->SR & (1<<5)) //接收到数据
     { 
      USART3->DR = USART2->DR; //向串口3发送
     }else if(USART2->SR & 0x40){ //发送一字节完成

        USART2->SR &= ~0x40;//清发送完成标志

     }
    }


    void USART3_IRQHandler(void) //串口3 中断服务
    {
     u8 res; 
     if(USART3->SR & (1<<5)) //接收到数据
     { 
      USART2->DR = USART3->DR; //向串口3发送
     }else if(USART3->SR & 0x40){ //发送一字节完成

        USART3->SR &= ~0x40;//清发送完成标志

     }
    }


    • 发布于 2019-01-09
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:15
  • 两个串口都只开启接收中断

    在串口2中的中断函数接收数据,并将数据保存到一个变量中,在主函数中把这个数据通过串口3发出去。

    在串口3中的中断函数接收数据,并将数据保存到一个变量中,在主函数中把这个数据通过串口2发出去。

    稍微麻烦一点的,可以用DMA数据搬运


    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 3
    • 0

  • 配置好两个串口,并且都打开接收、发送中断

    写串口中断程序

    QQ图片20190109210822.png

    串口3的中断程序类似,只是把转发语句对调一下。

    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 2
    • 0

  • 最简单的方式就是分别在两个串口的接收中断函数中实现接收到一个字节数据后把这个字节数据通过另一个串口发送出去,这样就能实现简单的透传了。
    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 使能两个串口收发,分别在两个串口的接收中断函数中,

    设定:

    串口2接收到数据->变量后把这个变量通过另一个串口发送出去

    串口3接收到数据->变量后把这个变量通过另一个串口发送出去​

    返回运行的结果

    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 就是把一个串口收到的数据转发到另一个串口中的吧,可以直接赋值buf
    • 发布于2019-01-09
    • 举报
    • 评论 0
    • 0
    • 0

  • 编写串口驱动,拿回字符串后,用sting.h的函数来处理会方便很多
    • 发布于2019-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口2的接收中断里发送接收到的数据到串口3

    串口3的接收中断里发送接收到的数据到串口2就可以了

    • 发布于2019-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口中断接受的数据暂存到缓冲区就可以,然后发送就可以
    • 发布于2019-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个需要接受不定长数据,你看看官方的历程里面一定会有的
    • 发布于2019-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 首先你得调通单片机的串口收发代码,能正常进行串口收发,然后是调通单片机与上位机,上位机与SIM模块的通信,三者相辅相成。

    • 发布于2019-01-10
    • 举报
    • 评论 0
    • 0
    • 0

  • 额可以参考,stm32f103串口1串口2收发程序 - bai596140538的博客
    • 发布于2019-01-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 两个都是可以用的,直接在中断里面进行处理和转接发送
    • 发布于2019-02-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 要根据你的实际硬件来设置,其他的只能作为参考来使用的
    • 发布于2019-02-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 用两个串口设置相同的缓冲区来读取,设置对应的串口发送
    • 发布于2019-02-21
    • 举报
    • 评论 0
    • 0
    • 0

  • 串口2收到的数据转发到串口3,串口3收到的数据转发到串口2,光在接收函数里面处理下数据就行
    • 发布于2019-01-11
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

STM32F103的串口透传程序怎么写