找回密码
 立即注册

QQ登录

只需一步,快速开始

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

stm32 USART1-5串口收发程序(中断与查询法)源码集合下载

[复制链接]
跳转到指定楼层
楼主
野火串口发送程序,多个串口实验源码
printf(interrupt)
printf(polling)查询法
USART1中断接发
USART1接发
USART2接发
USART3接发
USART4接发
USART5接发


stm32单片机源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @date    2013-xx-xx
  7.   * @brief   串口中断接收测试
  8.   */


  9. #include "stm32f10x.h"
  10. #include "bsp_usart1.h"
  11. #include "uart_api.h"
  12. /**
  13.   * @brief  主函数
  14.   * @param  无
  15.   * @retval 无
  16.   */
  17. int main(void)
  18. {
  19.         uint8_t ucaRxBuf[1024];
  20.         uint16_t usRxCount;
  21.         uint8_t ucTemp;
  22.         
  23.         /* USART1 配置模式为 115200 8-N-1,中断接收 */
  24.         comInit();

  25.         printf("\r\n 这是一个串口中断接收回显实验 \r\n");        
  26.         printf("\r\n 请在超级终端或者串口调试助手输入字符 \r\n");        
  27.         /* 简单的通信协议,遇到回车换行符认为1个命令帧 */
  28.         usRxCount = 0;
  29.         for(;;)
  30.         {
  31.                 /*
  32.                         接收COM1口的数据,分析并处理
  33.                         可以将此段代码封装为一个函数,在主程序其它流程调用
  34.                 */
  35.                 if (comGetChar(COM1, &ucTemp))
  36.                 {
  37.                         if (usRxCount < sizeof(ucaRxBuf))
  38.                         {
  39.                                 ucaRxBuf[usRxCount++] = ucTemp;
  40.                         }
  41.                         else
  42.                         {
  43.                                 usRxCount = 0;
  44.                         }
  45.                         
  46.                         /* 遇到换行字符,认为接收到一个命令 */
  47.                         if (ucTemp == 0x0A)        /* 换行字符 */
  48.                         {               
  49.                                 /* 在接收到的字符串加1个前缀,以示区别 */
  50.                                 comSendBuf(COM1, (uint8_t *)"COM1 ", 5);
  51.                                 comSendBuf(COM1, ucaRxBuf, usRxCount);

  52.                                 usRxCount = 0;
  53.                         }
  54.                 }
  55.         }
  56. }
  57. /*********************************************END OF FILE**********************/
复制代码

所有资料51hei提供下载:
5-USART—串口通信.rar (2.35 MB, 下载次数: 129)




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

使用道具 举报

沙发
ID:347083 发表于 2018-6-7 17:50 | 只看该作者
想要啊
回复

使用道具 举报

板凳
ID:370386 发表于 2018-7-17 11:41 | 只看该作者
想看看啊
回复

使用道具 举报

地板
ID:445069 发表于 2019-4-23 11:09 | 只看该作者
USART在单片机中使用非常频繁,确实应该好好地掌握。
回复

使用道具 举报

5#
ID:395480 发表于 2019-4-27 17:11 来自手机 | 只看该作者
好强大  厉害
回复

使用道具 举报

6#
ID:743715 发表于 2020-6-13 11:35 | 只看该作者
USART2接发想要
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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