当前位置: 首页 > news >正文

嵌入式STM32学习——串口USART 2.3(串口发送数据控制LED灯)

本实验主要是利用串口发送指令实现LED的点亮,基本代码与之前一致,本次只展示改变代码,即main.c

#include "stm32f10x.h"
#include "main.h"
#include "led.h"
#include "bear.h"
#include "key.h"
#include "shake.h"
#include "usart.h"
#include "stdio.h"
void delay(uint16_t time) 
{uint16_t i=0;while(time--){i =12000;while(i--);}}int  main() 
{my_usart_init();LED_Init();
//	My_Usart_Send_Byte( USART1,  'A');
//	My_Usart_Send_Byte( USART1,  'B');
//	My_Usart_Send_Byte( USART1,  'C');
//	My_Usart_Send_Sting( USART1,  "\r\n");
//	My_Usart_Send_Sting(USART1 , "fei \r\n");printf("Hello,shi \r\n");while(1){}		
}void EXTI0_IRQHandler()  //°´¼üÖжϺ¯Êý
{if(EXTI_GetITStatus(EXTI_Line0) != RESET)//ÍⲿÖжϻñÈ¡±ê־λ{GPIO_ResetBits(GPIOA,GPIO_Pin_1);EXTI_ClearITPendingBit(EXTI_Line0);			//Çå³ýÍⲿÖжϱê־룬ҪÓëEXTI_GetITStatus´îÅäʹÓÃ}
}void USART1_IRQHandler()		//串口中断函数
{char receive_data;if(USART_GetITStatus(USART1,USART_IT_RXNE) != RESET){receive_data =  USART_ReceiveData(USART1);			printf("receive data:  %c \r\n", receive_data);  if(receive_data == '1')                        //判断是否符合条件开关灯{GPIO_SetBits(GPIOA,GPIO_Pin_1);printf("LED  OFF \r\n");}if(receive_data == '0'){GPIO_ResetBits(GPIOA,GPIO_Pin_1);printf("LED  ON \r\n");}USART_ClearITPendingBit(USART1,  USART_IT_RXNE);	//清除中断标志位}}

实验结果

http://www.dtcms.com/a/206860.html

相关文章:

  • [初阶--使用milvus向量数据库实现简单RAG]
  • 云曦25年春季期中考核复现
  • 滚珠导轨:重构精密仪器传动架构,开启微纳世界
  • MacBookPro上macOS安装第三方应用报错解决方案:遇到:“无法打开“XXX”,因为Apple无法检查其是否包含恶意软件 问题如何解决
  • python学习打卡day33
  • Mysql刷题之正则表达式专题
  • MA网络笔记
  • leetcode2261. 含最多 K 个可整除元素的子数组-medium
  • 关于Python编程语言的详细介绍,结合其核心特性、应用领域和发展现状,以结构化方式呈现:
  • 网络编程 之 从BIO到 NIO加多线程高性能网络编程实战
  • JMeter 教程:响应断言
  • 融合蛋白质语言模型和图像修复模型,麻省理工与哈佛联手提出PUPS ,实现单细胞级蛋白质定位
  • recurrent neural network(rnn)
  • 记录Pycharm断点调试的一个BUG
  • Java的列表、集合、数组的添加一个元素各自用的什么方法?
  • 蜂鸣器模块
  • 7.2.顺序查找
  • 【KWDB 2025 创作者计划】_KWDB时序数据库特性及跨模查询
  • 把银河装进镜头里!动态星轨素材使用实录
  • iisARR负均衡
  • indicator-sysmonitor 在Ubuntu 右上角实时显示CPU/MEM/NET的利用率
  • 实现一个前端动态模块组件(Vite+原生JS)
  • anaconda的c++环境与ros2需要的系统变量c++环境冲突
  • 冲刺卷软考总结-案例分析
  • MySQL索引事务
  • python 标准库
  • C++028(变量的作用域)
  • IDEA启动报错:Cannot invoke “org.flowable.common.engine.impl.persistence.ent
  • x-cmd install | cargo-selector:优雅管理 Rust 项目二进制与示例,开发体验升级
  • [Harmony]WebView基本用法