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

61A与PC的RS232通信,接收以中断方式

本文来自http://blog.csdn.net/hellogv/


#include"SPCE061a.h"

unsigned int tmp_data;



void UART_Init()

{

    asm("INT OFF");//禁止IRQ和FIQ中断

    *P_IOB_Dir=0x0400;

    *P_IOB_Attrib=0x0480;

    *P_IOB_Data=0x0000;

   



    *P_UART_Command1=C_UART_Reset;//UART内部复位

   

 *P_UART_BaudScalarHigh=0x05;   //波特率设置9600

 *P_UART_BaudScalarLow=0x00;

 

 *P_UART_Command1=0x80;//1000 0000 允许Rx中断  

 *P_UART_Command2=0xc0; //1100 0000  控制字



     asm("INT IRQ");

     tmp_data=*P_UART_Data;      //清接收缓冲区(很必要)

}



char GetData()

{

   tmp_data=*P_UART_Command2;

   tmp_data=tmp_data&0x0080;

   while(tmp_data==0)

   {

    tmp_data=*P_UART_Command2;

    tmp_data=tmp_data&0x0080;

    *P_Watchdog_Clear=C_WDTCLR;

   }

   return *P_UART_Data;

}



void SendData(char Data)

{

    *P_Watchdog_Clear=0x0001;

    tmp_data=*P_UART_Command2;

 tmp_data=tmp_data&0x0040;//判断数据发送是否已经准备好

 while(tmp_data==0)        //等待发送完毕

 {

  tmp_data=*P_UART_Command2;

  tmp_data=tmp_data&0x0040;

  *P_Watchdog_Clear=0x0001;

 }

 *P_UART_Data=Data;

 *P_Watchdog_Clear=0x0001;

}



int main()

{

 UART_Init();

    while(1)

    {

       *P_Watchdog_Clear=C_WDTCLR;   

    }

    return 0; 

}



void IRQ7(void) __attribute__ ((ISR));

void IRQ7(void)

{

    __asm("IRQ OFF");

    SendData(GetData());//收到什么,就发什么回去

    __asm("IRQ ON");



} 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • python怎么除去列表l中所有是x的元素_清华毕业大佬整理的Python基础22大知识点,自备热水,这货有点干...
  • 拥有至高无上的特权 使用system账户
  • python爬取js_python如何爬取js生成的数据?
  • 深入理解数据库并发控制原理
  • python怎么用for循环_python -for循环
  • AJAX的WEB开发工具
  • python入门知识图谱整理_零基础入门知识图谱技术到应用开发实战
  • Sun培训开放日
  • python多页网站目录_2:url有规律的多页面爬取
  • 淡水河边的夕阳-台北印象
  • python常问问题_python常见问题
  • Cisco路由器安全配置方案
  • crc32算法_业务开发中你用到了哪些算法?
  • ORA-00600 关联规则建模错误
  • python基于值得内存_浅谈Python 对象内存占用
  • SegmentFault for Android 3.0 发布
  • Apache的基本使用
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Java超时控制的实现
  • js如何打印object对象
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • STAR法则
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • XForms - 更强大的Form
  • 计算机常识 - 收藏集 - 掘金
  • 前端相关框架总和
  • 强力优化Rancher k8s中国区的使用体验
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 原生 js 实现移动端 Touch 滑动反弹
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ![CDATA[ ]] 是什么东东
  • # Maven错误Error executing Maven
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $nextTick的使用场景介绍
  • (delphi11最新学习资料) Object Pascal 学习笔记---第14章泛型第2节(泛型类的类构造函数)
  • (LeetCode 49)Anagrams
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十六)Flask之蓝图
  • (图)IntelliTrace Tools 跟踪云端程序
  • (自用)gtest单元测试
  • ***监测系统的构建(chkrootkit )
  • .DFS.
  • .java 9 找不到符号_java找不到符号
  • .NET Core 项目指定SDK版本
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • .NET面试题(二)
  • @Autowired 与@Resource的区别
  • [1] 平面(Plane)图形的生成算法
  • [23] GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
  • [8] CUDA之向量点乘和矩阵乘法
  • [Android] Upload package to device fails #2720
  • [C++]: 模板进阶
  • [CODE:-5504]没有[SYS.SYSOBJECTS]对象的查询权限