与串口助手交互实现控制LED灯

简介: 与串口助手交互实现控制LED灯宏定义与预处理初始化引脚初始化串口串口数据控件led灯数据中断主函数


宏定义与预处理



#include<iocc2530.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned int
#define LED1 P1_0
#define LED2 P1_5
#define LED3 P1_4
#define LED4 P1_3
uchar c;
uchar temp;
uchar Data[30]={0};
uint count=0;


初始化引脚



void Init_LED()
{
  P1SEL &=~0X39;
  P1DIR |= 0X39;
  P1 &=~ 0X39;
}


初始化串口



void Init_UART()
{
 CLKCONCMD &= 0x80;
 U0CSR |= 0X80;
 P0SEL |= 0X0C;
 U0GCR =10;
 U0BAUD =216;
 U0CSR |= 0X40;
 URX0IF = 0; 
 UTX0IF = 0;
 IEN0 |= 0X84;
}


串口数据控件led灯



void UART_Control_Led()
{
  if(Data[0]=='d'||Data[0]=='A')
  {
    if(Data[0]=='d')
    {
      if(Data[1]=='1')
        LED1 =1;
      else if(Data[1]=='2')
        LED2 =1;
      else
        LED1=LED2=LED3=LED4=0;
    }
    if(Data[0]=='A')
    {
      if(Data[1]=='0')
        LED1 = LED2 = 1;
      else if(Data[1]=='1')
        LED1 = LED2 = 0;
      else
        LED1=LED2=LED3=LED4=0;
    }
  }
}


数据



void Send_Data(uchar *Data,uint len)
{
   int j;
  for(j=0;j<len;j++)
  {
    U0DBUF = *Data++;
    while(UTX0IF == 0);
    UTX0IF = 0;
  }
  UART_Control_Led();
}


中断




#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR(void)
{
  URX0IF=0;
  temp = U0DBUF;
  if((temp != '#')&& count < 30)
  {
    Data[count++]=temp;
    temp=0;
  }
  else
    Send_Data(Data,count);
}


主函数



 main()
{
  Init_LED();
  Init_UART();
  while(1)
  {
  }
}
相关文章
|
3月前
|
JSON API 数据安全/隐私保护
【干货满满】分享淘宝API接口到手价,用python脚本实现
淘宝开放平台通过API可获取商品到手价,结合商品详情与联盟接口实现优惠计算。需使用AppKey、AppSecret及会话密钥认证,调用taobao.tbk.item.info.get接口获取最终价格。代码示例展示签名生成与数据解析流程。
|
2月前
|
SQL 关系型数据库 API
如何开发工程项目部管理系统中的质量管理板块(附架构图+流程图+代码参考)
本文详解如何构建工程项目管理系统中的质量管理模块,涵盖质量检查计划、检查登记、问题清单、整改记录及问题看板五大核心功能。内容包括系统架构设计、业务流程、数据模型、API接口、开发技巧及上线建议,助力实现质量风险的数字化闭环管理,提升项目验收效率与合规性。
|
8月前
|
Java 调度
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码
当我们创建一个`ThreadPoolExecutor`的时候,你是否会好奇🤔,它到底发生了什么?比如:我传的拒绝策略、线程工厂是啥时候被使用的? 核心线程数是个啥?最大线程数和它又有什么关系?线程池,它是怎么调度,我们传入的线程?...不要着急,小手手点上关注、点赞、收藏。主播马上从源码的角度带你们探索神秘线程池的世界...
401 0
【源码】【Java并发】【线程池】邀请您从0-1阅读ThreadPoolExecutor源码
|
9月前
|
存储 移动开发 JavaScript
网页 HTML 自动播放下一首音乐
在 HTML5 中实现自动播放下一首音乐,通过管理音乐列表、操作音频元素和监听事件完成。创建包含多个音乐链接的列表,使用 `&lt;audio&gt;` 元素加载音乐,监听 `ended` 事件,在当前音乐结束时自动播放下一首。示例代码展示了如何使用 JavaScript 实现这一功能,确保无缝切换音乐。
|
设计模式 前端开发 JavaScript
计算机毕业系统答辩问题汇总~~当你的系统是家乡特产平台系统
这篇文章汇总了计算机毕业设计系统答辩中可能遇到的问题,特别是针对一个基于Vue和SpringBoot开发的家乡特产平台系统,涵盖了系统设计、功能实现、技术选型、性能安全、未来展望和用户体验等方面的答辩技巧和建议。
计算机毕业系统答辩问题汇总~~当你的系统是家乡特产平台系统
成功解决:443端口被vmware-host(8992)占用。请关掉占用443端口的程序或者尝试使用系统代理模式
该博客文章提供了解决443端口被vmware-host占用问题的方法,包括关闭占用端口的程序或尝试使用系统代理模式。
成功解决:443端口被vmware-host(8992)占用。请关掉占用443端口的程序或者尝试使用系统代理模式
|
机器学习/深度学习 算法 决策智能
基于深度学习的结构优化与生成
基于深度学习的结构优化与生成技术应用于多种领域,例如建筑设计、机械工程、材料科学等。该技术通过使用深度学习模型分析和优化结构形状、材料分布、拓扑结构等因素,旨在提高结构性能、减少材料浪费、降低成本、并加快设计流程。
527 5
|
存储 安全 开发工具
oss客户端加密
阿里云OSS支持客户端加密,允许用户在本地加密数据后上传,确保数据在传输和存储时的隐私安全。用户管理主密钥,控制数据密钥加密与解密,增强数据控制和合规性。此机制适用于高安全需求场景,如金融、医疗等,但用户需负责密钥管理和加密操作。
525 8
|
Devops 测试技术 持续交付
阿里巴巴DevOps实践指南(五)| 业务驱动的协作
明确需求层次以及每个层次承载的价值之后,接下来要做的是定义每个层次的协作过程,最终服务于“顺畅高质量地交付业务需求”这一目标。如何组织各个层次的协作,来达成这一最终目标?
阿里巴巴DevOps实践指南(五)| 业务驱动的协作
Jmeter调用接口返回乱码
Jmeter调用接口返回乱码是因为Jmeter的默认编码和项目不统一造成的,看下项目的编码是什么,将Jmeter的默认编码修改为与项目编码一致即可。
381 0
Jmeter调用接口返回乱码