嵌入式——1138纯净版代码(UART2A)

这些是我自己常用的代码,比官方的要简洁些,主要是自用,还有相关模块,使用代码。
具体文件可以去我博客https://ailous.top/上下载。

UART 简介

计算机与外部设备的连接,基本上使用了两类接口:串行接口与并行接口。并行接口是
指数据的各个位同时进行传送,其特点是传输速度块,但当传输距离远、位数又多时,通信
线路变复杂且成本提高。串行通信是指数据一位位地顺序传送,其特点是适合于远距离通信,
通信线路简单,只要一对传输线就可以实现双向通信,从而大大降低了成本。
串行通信又分为异步与同步两类。UART(Universal Asynchronous Receiver/Transmitter,
通用异步收发器)正是设备间进行异步通信的关键模块。它的重要作用如下所示:

  • 处理数据总路线和串行口之间的串/并、并/串转换;
  • 通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用
    两根信号线(Rx 和 Tx)就可以完成通信过程;
  • 采用异步方式,数据收发完毕后,可通过中断或置位标志位的方式通知微控制器进
    行处理,大大提高微控制器的工作效率。
  • 若加入一个合适的电平转换器,如 SP3232E、SP3485,UART 还能用于 RS-232、RS-485
    通信,或与计算机的端口连接。UART 应用非常广泛,手机、工业控制、PC 等应用中都要
    用到 UART。
源码main函数
#include  "systemInit.h"
#include  <uart.h>
#include  <ctype.h>
#include  <string.h>
#include  "uartGetPut.h"
#include  <stdio.h>
#include  <timer.h>
#define  PART_LM3S1138
#include  <pin_map.h>
#include <math.h>


char Num ;

//  主函数(程序入口)
int main(void)
{
  jtagWait();                                             //  防止JTAG失效,重要!
  clockInit();                                            //  时钟初始化:晶振,6MHz
  uartInit();                                             //  UART初始化
  while(1)
  {
  }
}


void UART2_ISR(void)
{
  unsigned long ulStatus;
  
  ulStatus = UARTIntStatus(UART2_BASE, true);             //  读取当前中断状态
  UARTIntClear(UART2_BASE, ulStatus);                     //  清除中断状态
  
  if ((ulStatus & UART_INT_RX) || (ulStatus & UART_INT_RT))   //  若是接收中断或者
  {  
    Num = UARTCharGet(UART2_BASE);                        //  等待接收字符
    if (Num == 'a'){                                      //  如果遇到a<CR>
    }
  }
}


startup_ewarm.c(修改优先级)

在这里插入图片描述
在这里插入图片描述

这些是要改的部分。

具体的就不讲解了,地址后期会附上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值