串口助手数据发送与接收(中断法)

简介: 串口助手数据发送与接收(中断法)宏定义初始化数据发送数据接收主函数中断


宏定义



#include<iocc2530.h>
#include<string.h>
#define uint unsigned int
#define uchar unsigned char
#define LED1 P1_0
#define LED2 P1_5


初始化


/**********************
*函数名称:Init_Led
*函数功能:初始化led引脚
*入口函数:
*出口函数:
**********************/
void Init_Led(void)
{
 P1SEL&=~0X39;
 P1DIR|=0X39;
 P1&=~0x39;
}


/**********************
*函数名称:Init_UART
*函数功能:初始化串口
*入口函数:
*出口函数:
**********************/
void Init_UART(void)
{
 PERCFG&=~0x01;
 CLKCONCMD&=0X80;
 U0CSR|=0X80;
 P0SEL|=0X0C;
 U0BAUD=216;
 U0GCR=10;
 U0CSR|=0X40; 
 UTX0IF=0;
}


数据发送


/**********************
*函数名称:Send_UART_String
*函数功能:数据发送
*入口函数:Receive_UART_String()
*出口函数:
**********************/
void Send_UART_String(char c)
{
     LED1=0;
     LED2=1;
     U0DBUF=c;
  while(UTX0IF==0);
     UTX0IF=0; 
}


数据接收


/**********************
*函数名称:Receive_UART_String()
*函数功能:数据接收
*入口函数:
*出口函数:
*返回类型:char
**********************/
char Receive_UART_String()
{
  char c;
  LED1=1;
  LED2=0;
  while(!URX0IF);
  URX0IF=0;
  c=U0DBUF;
  return c;
}


主函数


main()
{
  Init_Led();
  Init_UART();
  while(1)
  {
  }
}


中断


#pragma vector=URX0_VECTOR
__interrupt void URX0_ISR(void)
{
   char Data;
   Data=Receive_UART_String();
   Send_UART_String(Data);
   Data=~Data;
}


相关文章
|
Dubbo Ubuntu Java
没有JDK和Maven,用Docker也能构建Maven工程
紧急的时候,借助Docker,在不安装JDK和Maven的环境也能构建Maven工程
2217 0
没有JDK和Maven,用Docker也能构建Maven工程
|
机器学习/深度学习 算法 搜索推荐
深度学习之差分隐私
基于深度学习的差分隐私是一种在保护用户隐私的同时使用数据进行模型训练的技术。它的核心理念是通过加入随机噪声来隐藏个体数据的影响,防止在分析或模型训练过程中泄露个人信息。
1266 1
|
存储 前端开发 JavaScript
前端开发中的状态管理概述与工具选择
【10月更文挑战第7天】前端开发中的状态管理概述与工具选择
402 0
|
存储 大数据 Python
NumPy 内存管理和性能调优
【8月更文第30天】NumPy 是 Python 中用于科学计算的核心库之一,它提供了高效的数组操作功能。然而,随着数据集的增大,如何有效地管理和优化 NumPy 数组的内存使用成为了一个重要的问题。本文将介绍一些技巧,帮助你更好地管理和优化 NumPy 数组的内存使用。
608 0
|
关系型数据库 MySQL 数据库
使用ZIP包安装MySQL及配置教程
使用ZIP包安装MySQL及配置教程
1490 4
域名中的.org和.com的区别
域名中的.org和.com的区别
2656 0
|
SQL 关系型数据库 MySQL
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!(上)
必知的 MySQL 索引失效场景【包括实践验证】,别再踩坑了!
1620 2
|
前端开发
前端如何创建好看的简洁的蒙版弹窗
前端如何创建好看的简洁的蒙版弹窗
244 0
|
存储 缓存 Prometheus
Prometheus 存储和集群|学习笔记(二)
快速学习 Prometheus 存储和集群
1120 0
Prometheus 存储和集群|学习笔记(二)
|
存储 缓存 NoSQL
Redis7.0以后AOF底层原理变更图解
Redis7.0以后AOF底层原理变更图解