找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1684|回复: 0
收起左侧

STM32F1之3个串口配置 源程序

[复制链接]
ID:663607 发表于 2021-8-2 01:36 | 显示全部楼层 |阅读模式
注释相关内容即可
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "key.h"
  4. #include "sys.h"
  5. #include "usart.h"





  6. int main(void)
  7. {               
  8.          u16 t;
  9.         u16 t2;        
  10.         u16 t3;
  11.         u16 len;        
  12.         u16 len2;
  13.         u16 len3;
  14.         delay_init();                     //延时函数初始化         
  15.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  16.         uart_init(115200);         //串口初始化为115200
  17.          LED_Init();                             //LED端口初始化
  18.         KEY_Init();          //初始化与按键连接的硬件接口
  19.          while(1)
  20.         {
  21.                 if(USART_RX_STA&0x8000)
  22.                 {                                          
  23.                         len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
  24. //                        printf("\r\n您发送的消息为:\r\n\r\n");
  25.                         for(t=0;t<len;t++)
  26.                         {
  27.                                 USART_SendData(USART2, USART_RX_BUF[t]);//向串口1发送数据
  28.                                 while(USART_GetFlagStatus(USART2,USART_FLAG_TC)!=SET);//等待发送结束
  29.                         }
  30. //                        printf("\r\n\r\n");//插入换行
  31.                         USART_RX_STA=0;
  32.                 }
  33.                 if(USART_RX_STA2&0x8000)
  34.                 {                                          
  35.                         len2=USART_RX_STA2&0x3fff;//得到此次接收到的数据长度
  36. //                        printf("\r\n您发送的消息为:\r\n\r\n");
  37.                         for(t2=0;t2<len2;t2++)
  38.                         {
  39.                                 USART_SendData(USART3, USART_RX_BUF2[t2]);//向串口1发送数据
  40.                                 while(USART_GetFlagStatus(USART3,USART_FLAG_TC)!=SET);//等待发送结束
  41.                         }
  42. //                        printf("\r\n\r\n");//插入换行
  43.                         USART_RX_STA2=0;
  44.                 }
  45.                 if(USART_RX_STA3&0x8000)
  46.                 {                                          
  47.                         len3=USART_RX_STA3&0x3fff;//得到此次接收到的数据长度
  48. //                        printf("\r\n您发送的消息为:\r\n\r\n");
  49.                         for(t3=0;t3<len3;t3++)
  50.                         {
  51.                                 USART_SendData(USART1, USART_RX_BUF3[t3]);//向串口1发送数据
  52.                                 while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET);//等待发送结束
  53.                         }
  54. //                        printf("\r\n\r\n");//插入换行
  55.                         USART_RX_STA3=0;
  56.                 }
  57.                
  58. //                {
  59. //                        times++;
  60. //                        if(times%5000==0)
  61. //                        {
  62. //                                printf("\r\n战舰STM32开发板 串口实验\r\n");
  63. //                                printf("正点原子@ALIENTEK\r\n\r\n");
  64. //                        }
  65. //                        if(times%200==0)printf("请输入数据,以回车键结束\n");  
  66. //                        if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
  67. //                        delay_ms(10);   
  68. //                }
  69.         }         
  70. }

复制代码

Keil代码工程: USART123.7z (182.45 KB, 下载次数: 15)
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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