本篇博文最后修改时间:2017年07月10日 21:48。

一、简介

本文以STM8S103F3P6编程为例,介绍STM8S103F3P6串口中断接收。

二、实验平台

电脑平台:Windows7 64位旗舰

编译软件:IAR

硬件平台:STM8S103F3P6

三、版权声明

博主:_懵懂

声明:此博客仅供参考不做任何商业用途,最终解释权归原博主所有。

原文地址:http://blog.csdn.NET/qq_18842031

懵懂之MCU交流群:136384801

四、实验前提

1、在进行本文步骤前,请先安装IAR  EWSTM8-EV-1311版本;准备好STM8S103F3P6硬件平台。

五、基础知识

暂无

六、源码地址

暂无

七、实验内容

1.系统时钟初始化为内部16M

  CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);    //时钟   初始化时钟为1分频 16M   2分频8M

2.初始化串口

  UART1_DeInit();UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE);UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE);UART1_Cmd(ENABLE);enableInterrupts();

3.编写主函数

void main(void)
{CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);Init_UART1();enableInterrupts(); /* Infinite loop */while (1){if(flagpacker){flagpacker = 0;for(unsigned char num = 0; num < length;num++)Send(Rxpacker[num]);}}
}

4.编写中断服务函数

unsigned char flagpacker;   //全局变量    是否完整接收一个数据包
unsigned char Rxpacker[255];    //全局变量    完整数据包
unsigned char length;    //数据长度INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18){/* In order to detect unexpected events during development,it is recommended to set a breakpoint on the following instruction.*/unsigned char RxBuf;                                             //临时接收  static unsigned char RxData[255];//接收数据缓存区  static unsigned char count;                                     //串口接收数据长度  static unsigned char rec;  //  判断是否正在接收数据UART1_ClearITPendingBit(UART1_IT_RXNE);RxBuf = UART1_ReceiveData8();if(RxBuf == (0xcc))  //帧头{  rec= 1;  count = 0;  flagpacker = 0;  return ;  }  if(RxBuf  == (0xcd))  //帧尾{  rec= 0;  //此处可以添加校验码  length = count;for(unsigned char i = 0; i<count;i++)  {  Rxpacker[i] =RxData[i];  }  flagpacker = 1;//告诉系统已接收一个完整的数据包   return ;  }  if(rec)                                              //判断是否处于接收状态  {  RxData[count++] = RxBuf;  }    }

STM8S103之串口中断接收相关推荐

  1. STM32 HAL库 串口DMA(收发)和STM32串口中断接收(接收时间管理机制)+ESP8266 wifi模组通信问题

    一.HAL库 串口 DMA+ESP8266模组通信问题 用STM32 HAL库串口的DMA发送和空闲中断接收处理数据,单片机发送AT指令给ESP8266 wifi模组问题:单片机连续几次给wifi模组 ...

  2. stc 串口收发 c语言,STC12C5A60S2 串口中断接收程序

    原标题:STC12C5A60S2 串口中断接收程序 #define UART0_BUF_LEN 32 int UART1_Recv_count; //接收计数 bit UART1_Overflow_F ...

  3. STM32使用串口中断接收HWT101的数据

    因研究生阶段项目需求,需要采用HWT101给单片机提供角度信息. HWT101是维特智能公司下的一款角度传感器,它可以通过计算角速度测量绕Z轴旋转的水平方向的偏航角,具有高精度.几乎无漂移.不受磁场干 ...

  4. STM32串口中断接收实验

    STM32串口中断接收实验的详细说明 准备 代码实现 总结 准备 材料:STM32F407ZGT6最小系统板,串口1通过跳线帽连接到了CH340上. 需求:从电脑向板子的串口1发送一个字符串(以回车和 ...

  5. STM32G070RBT6基于STM32CubeMX创建串口中断接收数据

    STM32G070RBT6基于STM32CubeMX创建串口中断接收数据

  6. STM32串口中断接收HAL库超详解析

    之前一直用的固件库跑c8t6和zet6,现在有幸接触到stm32H743用到HAL库,学习嘛都是踩坑,csdn,然后...理解底层库的代码 本人有幸遇到了H7的串口中断接收只进去一次的Bug,于是马上 ...

  7. STM32串口的使用(原理、结构体、库函数、串口发送字符(串)、重定向printf串口发送、串口中断接收控制灯)

    参考:串口的结构体 重定向printf串口发送stm32等博文 作者:点灯小哥 发布时间: 2021-03-06 21:46:33 网址:https://blog.csdn.net/weixin_46 ...

  8. STM32串口中断接收标记USART_RX_STA 学习

    对于串口中断函数USART_RX_STA接收标记位解析,费话不多说了,直接上代码. #define USART1_REC_LEN 200 u8 USART1_RX_BUF[USART1_REC_LEN ...

  9. STM32串口中断接收帧数据并返回给上位机总结(配合MAX3483)

    一.前言 这是我的第一篇CSDN,记录一些代码总结,一方面与大家分享交流,另一方面方便以后再次使用能够快速回忆,再就是提高自身写作水平.如有错误之处,欢迎各位大佬批评指正. 二.所涉及的芯片 1.ST ...

  10. LCP1768及stm32f串口中断接收

    LPC1768系列 串口初始化,要设置两个结构体参数,一个是gpio,一个是uart的设置 /***************************************************** ...

最新文章

  1. 神州数码与神州控股、神州信息共同主办首届技术年会,透露出什么信号?
  2. 【 Notes 】INS Preliminary Introduction
  3. SAP Spartacus 支持 Vue 吗?
  4. 本想用Python爬遍知乎,没想到却被知乎反杀
  5. Python__repr__()方法:显示属性
  6. 【python】循环结构if、for 、while
  7. Halcon内参外参畸变矫正
  8. centos6.4-x86-64系统更新系统自带Apache Http Server
  9. ADS1115的四通道使用
  10. Tesseract文字训练,以及样本生成
  11. mysql修改frm,MySQL 修改.frm文件来更新字段
  12. 概率图模型(1)--隐马尔科夫模型(1)
  13. ERP2021青岛理工信管期末考试重点
  14. 安卓开发快速学习!330页PDF,10万字的知识点总结,附面试题答案
  15. mac关闭php,mac强制退出程序的方法有哪些
  16. Windows AD证书服务系列---部署CA(1)
  17. 刷题之旅第33站,CTFshow web12
  18. 高燃、邓迪、张鹤翔 MySee创业团队
  19. 有一个强大又好看的,赛过Typora,阿里开发的语雀编辑器
  20. java云同桌学习系列(十四)——JavaScript语言

热门文章

  1. php商城教学视频教程,布尔教育ThinkPHP商城实战视频教程的课件源码分享
  2. excel 通用进销存(由excel+VBA+MSSQL制作)
  3. STM32最小系统下载程序方法
  4. TinyPNG批量智能图片压缩器无限制版(支持Mac/Win)
  5. python花瓣飘零_PYTHON抓取花瓣网高清美图
  6. 住在我隔壁的一对大学生夫妻(十五)
  7. Bex5服务启动时提示概念表超限
  8. ROS系统中启用摄像头模块
  9. Selenium+JAVA淘宝登录、商品搜索、添加收货地址,提交订单、付款流程(UI)
  10. 操作系统进程调度算法(c语言实现)