找回密码
 立即注册

QQ登录

只需一步,快速开始

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

stm32串口三初始化源程序

[复制链接]
跳转到指定楼层
楼主
ID:821170 发表于 2020-9-20 15:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. #include "sys.h"
  2. #include "delay.h"
  3. #include "usart.h"
  4. #include "led.h"
  5. #include "beep.h"
  6. #include "key.h"
  7. #include "usart3.h"        



  8. int main(void)
  9. {

  10.         u8 t,key;
  11.         u8 len;        
  12.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
  13.         delay_init(168);                //延时初始化
  14.         uart_init(115200);        //串口初始化波特率为115200
  15.         usart3_init(115200);
  16.         LED_Init();                                  //初始化与LED连接的硬件接口
  17.         KEY_Init();        
  18.         while(1)
  19.         {
  20.                 key=KEY_Scan(0);
  21.                 if(USART3_RX_STA&0x8000)
  22.                 {                                          
  23.                         len=USART3_RX_STA&0x3fff;//得到此次接收到的数据长度
  24.                         printf("\r\n您发送的消息为:\r\n");
  25.                         for(t=0;t<len;t++)
  26.                         {
  27.                                 USART_SendData(USART3, USART3_RX_BUF[t]);         //向串口1发送数据
  28.                                 while(USART_GetFlagStatus(USART3,USART_FLAG_TC)!=SET);//等待发送结束
  29.                         }
  30.                         printf("\r\n\r\n");//插入换行
  31.                         USART3_RX_STA=0;
  32.                 }
  33.                
  34.                 if(key)
  35.                 {
  36.                         switch(key)
  37.                         {
  38.                                 case WKUP_PRES:
  39.                                         printf("\r\n您发送的消息为:\r\n");
  40.                                         USART_SendData(USART3,'3');
  41.                                         break;
  42.                                 
  43.                                 case KEY0_PRES:
  44.                                         printf("\r\n您发送的消息为:\r\n");
  45.                                         USART_SendData(USART3,'2');
  46.                                 break;
  47.                         }
  48.                         printf("\r\n\r\n");//插入换行
  49.                 }
  50.         }
  51. }
复制代码

USART3.7z

295.02 KB, 下载次数: 11, 下载积分: 黑币 -5

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

使用道具 举报

沙发
ID:821217 发表于 2020-9-20 18:09 | 只看该作者
有没有USART DMA方式的?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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