单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 7673|回复: 8
打印 上一主题 下一主题
收起左侧

STM32串口通讯USART收发程序 收到串口发送数据,再回送给串口 已验证

[复制链接]
stm32单片机实现的。已验证,实现功能,收到串口发送数据,再回送给串口


源码工程下载:
基本例程-USART收发.rar (585.15 KB, 下载次数: 186)



源代码:

  1. /******************** 鑫盛电子工作室 ********************
  2. * 文件名  :main.c
  3. * 描述    :通过串口调试软件,向板子发送数据,板子接收到数据后,立即回传给电脑。         
  4. * 实验平台:MINI STM32开发板 基于STM32F103VET6
  5. * 库版本  :ST3.0.0
  6. *********************************************************/

  7. #include "stm32f10x.h"
  8. #include "usart1.h"



  9. int main(void)
  10. {  
  11.              
  12.     SystemInit();        //配置系统时钟为 72M
  13.    
  14.         USART1_Config(); //USART1 配置                

  15.   while (1)
  16.   {         
  17.     UART1Test();
  18.   }
  19. }

复制代码
  1. /******************** 鑫盛电子工作室 ********************
  2. * 文件名  :usart1.c
  3. * 描述    :配置USART1         
  4. * 实验平台:MINI STM32开发板 基于STM32F103VET6
  5. * 硬件连接:------------------------
  6. *          | PA9  - USART1(Tx)      |
  7. *          | PA10 - USART1(Rx)      |
  8. *           ------------------------
  9. * 库版本  :ST3.0.0  
  10. * 淘宝店:http://shop66177872.taobao.com
  11. **********************************************************************************/

  12. #include "usart1.h"
  13. #include <stdarg.h>


  14. void USART1_Config(void)
  15. {
  16.         GPIO_InitTypeDef GPIO_InitStructure;
  17.         USART_InitTypeDef USART_InitStructure;

  18.         /* 使能 USART1 时钟*/
  19.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);

  20.         /* USART1 使用IO端口配置 */   
  21.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;
  22.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
  23.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  24.   GPIO_Init(GPIOA, &GPIO_InitStructure);   
  25.   
  26.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  27.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;        //浮空输入
  28.   GPIO_Init(GPIOA, &GPIO_InitStructure);   //初始化GPIOA
  29.           
  30.         /* USART1 工作模式配置 */
  31.         USART_InitStructure.USART_BaudRate = 115200;        //波特率设置:115200
  32.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;        //数据位数设置:8位
  33.         USART_InitStructure.USART_StopBits = USART_StopBits_1;         //停止位设置:1位
  34.         USART_InitStructure.USART_Parity = USART_Parity_No ;  //是否奇偶校验:无
  35.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;        //硬件流控制模式设置:没有使能
  36.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;//接收与发送都使能
  37.         USART_Init(USART1, &USART_InitStructure);  //初始化USART1
  38.         USART_Cmd(USART1, ENABLE);// USART1使能
  39. }

  40. /*发送一个字节数据*/
  41. void UART1SendByte(unsigned char SendData)
  42. {          
  43.         USART_SendData(USART1,SendData);
  44.         while(USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET);            
  45. }  

  46. /*接收一个字节数据*/
  47. unsigned char UART1GetByte(unsigned char* GetData)
  48. {             
  49.         if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE) == RESET)
  50.         {  return 0;//没有收到数据
  51.                 }
  52.         *GetData = USART_ReceiveData(USART1);
  53.         return 1;//收到数据
  54. }
  55. /*接收一个数据,马上返回接收到的这个数据*/
  56. void UART1Test(void)
  57. {

复制代码




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 顶 踩
回复

使用道具 举报

沙发
川页人生 发表于 2017-12-15 15:41 | 只看该作者
坑爹啊
回复

使用道具 举报

板凳
nieqianli 发表于 2017-12-16 12:45 | 只看该作者
太好了,可以省事了,
回复

使用道具 举报

地板
2539680293 发表于 2018-1-9 19:30 | 只看该作者
乱码啊
回复

使用道具 举报

5#
yfhaotian 发表于 2018-6-6 20:52 | 只看该作者
厉害
回复

使用道具 举报

6#
随风飘落丶 发表于 2018-6-26 13:44 | 只看该作者
楼主 你好  我是新手没有黑币,可否发个链接,QQ号:2481050721  谢谢
回复

使用道具 举报

7#
2335604347 发表于 2018-7-2 19:41 | 只看该作者
感觉这个会有用诶,可是只差两个黑币了,我的这个评论能获得两个黑币吗,如果行的话我就能花5个黑币下载这个程序了
回复

使用道具 举报

8#
chenpeiwen151 发表于 2018-8-2 23:49 | 只看该作者
最近正好在学32,单向给串口调试发送消息搞定了,就是这个不会了,感谢楼主
回复

使用道具 举报

9#
guochuan4234 发表于 2019-1-31 22:54 | 只看该作者
您是怎么验证的?我用串口调试助手怎么接受没有反应啊?
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51hei电子论坛2群 联系QQ:125739409;技术交流QQ群219535678

Powered by 单片机教程网

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