通过中断来控制led灯亮
一、高低电频控制led亮
新建工程
选择STM32F103C8,新建工程
点击sys,将debug选项改为Serial Wire
然后在Rcc里的HSE选择Crystal/Ceramic Resonator
PB0选为外部中断触发器,PA1是控制led灯的,和将它选择为GPIO_output就行了
选择PLLCLK,然后将后面的晶振频率最大值改为72M赫兹
二、中断实现串口通信
在STM32中新建工程,步骤和上面一样,接下来是RCC的设置,也是设置HSE
选择UASRT1,将mode改为异步通信,选择下面的NVIC Setting,将enabled选上。
进入main.c文件,在里面定义如下数据
uint8_t aRxBuffer;//接收缓冲中断
uint8_t Uart1_RxBuff[256];//接收缓冲
uint8_t Uart1_Rx_Cnt=0;//接收缓冲计数
uint8_t cAlmStr[]="数据溢出(大于256)";
将HAL_UART_RxCpltCallback函数重写
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
{if(Uart1_Rx_Cnt >= 255) //溢出判断{Uart1_Rx_Cnt = 0;memset(Uart1_RxBuff,0x00,sizeof(Uart1_RxBuff));HAL_UART_Transmit(&huart1, (uint8_t *)&cAlmStr, sizeof(cAlmStr),0xFFFF); }else{Uart1_RxBuff[Uart1_Rx_Cnt++] = aRxBuffer; //接收数据转存if((Uart1_RxBuff[Uart1_Rx_Cnt-1] == 0x0A)||(Uart1_RxBuff[Uart1_Rx_Cnt-2] == 0x0D)) //判断结束位{HAL_UART_Transmit(&huart1, (uint8_t *)&Uart1_RxBuff, Uart1_Rx_Cnt,0xFFFF); //将收到的信息发送出去Uart1_Rx_Cnt = 0;memset(Uart1_RxBuff,0x00,sizeof(Uart1_RxBuff)); //清空数组}}HAL_UART_Receive_IT(&huart1, (uint8_t *)&aRxBuffer, 1); //再开启接收中断}
在主函数写一个接收中断函数
int main(void)
{//初始化HAL_Init();SystemClock_Config();MX_GPIO_Init();MX_USART1_UART_Init();//接收中断函数HAL_UART_Receive_IT(&huart1,(uint8_t*)&aRxBuffer,1);while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}
运行结果
三、参考
通过中断来控制LED灯(STMF103C8+HAL库)
通过中断来控制led灯亮相关推荐
- 采用STM32外部中断模式控制LED灯亮灭
文章目录 实验工具 一.STMCube配置项目 1.配置引脚 2.配置EXIT 3.配置SYS 4.配置GPIO 5.创建代码 二.使用KEil配置代码 1.打开生成的项目,找到stm32f1xx_i ...
- 用51单片机中断控制LED灯亮灭
用51单片机中断控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k3=P3^2;//位定义按键 void dela ...
- Android Studio设计APP实现与51单片机通过WIFI模块(ESP8266-01S)通讯控制LED灯亮灭的设计源码【详解】
目录 一.前言 二.效果展示 1.APP界面展示 2.C51硬件展示 三.Android Studio APP源代码 1.AndroidManifest.xml 1.请求联网: 2.开放明文传输: 2 ...
- HC-05蓝牙模块与STM32控制led灯亮详解
HC-05蓝牙模块与STM32控制led灯亮 一.HC-05蓝牙模块解析 1.简介 2.HC-05原理 3.HC-05实物图 二.使用AT指令进行配置 1.进入命令响应工作模式 2.配置串口 3.进行 ...
- STM32使用延时控制LED灯亮暗变换,LED呼吸灯效果
STM32F407ZE 使用延时控制LED灯亮暗变换,实现LED呼吸灯效果 具体代码如下: main.c部分 #include <stm32f4xx.h> #include "s ...
- 安卓手机与蓝牙模块联合调试(二)—— 单片机蓝牙控制LED灯亮灭(上)
系列博文: (1)安卓手机与蓝牙模块联合调试(一)--蓝牙模块的串口通讯 (2)安卓手机与蓝牙模块联合调试(二)-- 单片机蓝牙控制LED灯亮灭(上) (3)安卓手机与蓝牙模块联合调试(三)-- 单片 ...
- stm32f103c8t6+ESP8266利用onenet平台上传数据到云平台,再利用云平台远程下发命令给单片机控制LED灯亮灭
stm32f103c8t6+ESP8266利用onenet平台上传数据到云平台,再利用云平台远程下发命令给单片机控制LED灯亮灭 接触stm32已经有一年半的时间了,从最开始的stm32F103ZET ...
- c51按键控制灯亮汇编语言,用一个按键控制LED灯亮/暗的汇编程序
今天又搞了一个小汇编,是用一个按键控制LED灯亮/暗的汇编程序.程序编好后,开始编译,发现又是通不过,找了好几遍也没找到原因,后来找枫雪大哥看了,才找出原因,原来编写程序时不能在中文环境下编写,不然就 ...
- 用51单片机实现按键控制LED灯亮灭
用51单片机实现按键控制LED灯亮灭 #include<reg51.h>//头文件 sbit LED=P2^0;//位定义LED灯 sbit k1=P3^1;//位定义按键 void de ...
最新文章
- xen tools代码结构
- 20条Linux命令面试问答
- Oracle的to_char()函数使用
- NavigationView更改菜单icon和title颜色变化效果
- 聚类算法 K-Means 简介与入门
- [220221] Majority Element
- 关于STM8L系列编程
- apkg格式怎么打开_jpg怎么转换成pdf?再不学就晚了
- HDU 6319 Problem A. Ascending Rating (单调队列)
- 前端之路:一款轻量的tooltip插件tippy.js
- Android入门之——百度地图开发(二)定位当前位置
- 错误	 D8016	“/ZI”和“/GL”命令行选项不兼容
- python 经典图书排行榜_知乎必读书单排行榜
- 小白科普:10Mb独享服务器相当于多少流量?一个月3500GB流量的服务器可以支持多少PV?多少IP访问?
- 2014年华为收入122亿美元
- 如何在大屏幕上滚动播放视频、图片和文字
- Unity DOTS简明教程
- [绝对值不等式] 货仓选址(绝对值不等式+贪心)
- 使用keytool工具产生带根CA和二级CA的用户证书
- PTA 7-1 旅游规划 (25分) 数据结构 Floyd