HI3531串口测试程序(arm)
#include<stdio.h>
unsigned int UART0_ADDR = 0x20080000;
unsigned int retu=0;
int i=0;
void delay_x(unsigned short cycles)
{
unsigned short t;
t = cycles;
while ( --t != 0 );
}
int main()
{
///////////初始化部分////////////////////////////////////////////////////
retu = *(unsigned int *)(UART0_ADDR + 0X30);//uart_cr
*(unsigned int *)(UART0_ADDR + 0X30) = 0x300;
// retu = *(unsigned int *)(UART0_ADDR + 0X24);//ibrd
// retu = *(unsigned int *)(UART0_ADDR + 0X28);//fbrd
*(unsigned int *)(UART0_ADDR + 0X24) = 1;
*(unsigned int *)(UART0_ADDR + 0X28) = 40;
*(unsigned int *)(UART0_ADDR + 0X30) = 0x300;
*(unsigned int *)(UART0_ADDR + 0X2c) = 0x60;//UART_LCR_H
*(unsigned int *)(UART0_ADDR + 0X34) = 0x12; //UART_IFLS
*(unsigned int *)(UART0_ADDR + 0X38) = 0x0;//UART_IMSC
retu = *(unsigned int *)(UART0_ADDR + 0X30);//uart_cr
*(unsigned int *)(UART0_ADDR + 0X30) = retu | 0x01;//使能串口
//////////////////////////////////////////////////////////
while(1)
{
// retu = *(unsigned int *)(UART0_ADDR + 0X18);
// retu = retu&0x40;
if(((*(unsigned int *)(UART0_ADDR + 0X18))&0x40)==0x40)
{
retu = *(unsigned int *)(UART0_ADDR + 0X00);
retu = retu&0xff;
*(unsigned int *)(UART0_ADDR + 0X00) = retu;
}
retu = 0;
delay_x(0X7000);
}
return 0;
}
HI3531串口测试程序(arm)的更多相关文章
- vxworks下的串口测试程序
VXWORKS串口设置说明: 一般有这么几步: 打开串口 设置串口raw模式,清空输入输出的缓冲区 设置波特率,数据位,停止位,校验方式 便可以开始读和写 打开串口: fd = open(" ...
- linux下串口测试程序
通过简单的参数配置,执行文件+串口号+波特率 #include <stdio.h> #include <stdlib.h> #include <unistd.h> ...
- hi3531串口波特率计算
波特率配置 通过配置寄存器UART_IBRD 和UART_FBRD 可以设置UART 工作的波特率,波特率 计算公式为: 当前波特率=UART 参考时钟频率(1/2 总线时钟频率)/(16 x 分频系 ...
- Yocto开发笔记之《串口驱动调试》(QQ交流群:519230208)
QQ群:519230208,为避免广告骚扰,申请时请注明 “开发者” 字样 ======================================================== 串口驱动各 ...
- 怎样在超级终端和PC之间通过串口传输文件
Windows环境下,通过SecureCRT软件,用串口向ARM开发板发送文件: 输入命令 rz,可以看到如下图所示: 选择路径点击上传即可. 如果是想从Arm开发板中把文件Down下来,则可以按照下 ...
- Uart串口
title: Uart串口 tags: ARM date: 2018-10-20 16:38:28 --- Uart串口 和单片机的应用没什么区别,首先设置IO复用,设置波特率和数据位,以及中断相关的 ...
- stm32-arduino-f103
希望给工作中偶尔要用的一些辅助板卡(例如运行信息现场记录)找一个快速开发的手段,Arduino作为流行的开源嵌入硬件框架,组件丰富,资料众多,所以想以Arduino作为平台.但是Arduino板子基本 ...
- .net core跨平台应用研究-ubuntu core下配置.net core运行时
引言 年初研究了一阵子.net core跨平台应用,先后发表了几篇应用研究的文章.因工作原因,忙于项目上线,有一阵子没来博客园写文章了.最近项目基本收尾,抽空翻了下自己的博客,廖廖几篇文章,真让人汗颜 ...
- <转>[WinForm] VS2010发布、打包安装程序(超全超详细)
1. 在vs2010 选择“新建项目”→“ 其他项目类型”→“ Visual Studio Installer→“安装项目”: 命名为:Setup1 . 这是在VS2010中将有三个文件夹, 1.“应 ...
随机推荐
- Linux中变量#,@,0,1,2,*,$$,$?的意思
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ...
- elasticsearch-5.x JAVA API(001)
Elasticsearch JAVA API 极其广泛,把所有的方法意义介绍出来显然不太现实.从1.x到2.x,在到5.x,最后到6.0,也不过短短两三年的时间,我挑选了5.4.0版本分三部分把平时常 ...
- spring之AspectJ基于注解 AOP编程
一.前言 使用注解代替之前在spring配置文件中配置目标类.切面类和aop配置. 二.注意 需要注意的是,需要在spring配置文件中引入如下,如果不添加,切面类中的@Aspect注解将不起作用 & ...
- 深入理解JAVA虚拟机之JVM性能篇---基础知识点(运行时数据区域)
一. 运行数据区域划分 各个数据区域功能如下: 1. 程序计数器: 较小的一块内存空间,可以看做是当前线程所执行的字节码的行号指示器,每条线程都有一个独立的程序计数器,各条线程之间计数器互不影响,独立 ...
- 在ubtunu使用apt-get安装和配置freeradius
安装freeradius之前先要确保已经安装了mysql.因为后来要用到.没有安装使用apt-get来安装 apt-get install mysql-server 然后就是安装freeradius的 ...
- selenium打开chrome浏览器代码
import os from selenium import webdriver chromedriver = "C:\Program Files (x86)\Google\Chrome\A ...
- POJ 1704 Georgia and Bob [阶梯Nim]
题意: 每次可以向左移动一个棋子任意步,不能跨过棋子 很巧妙的转化,把棋子间的空隙看成石子堆 然后裸阶梯Nim #include <iostream> #include <cstdi ...
- CodeChef Little Elephant and Movies [DP 排列]
https://www.codechef.com/FEB14/problems/LEMOVIE 题意: 对于一个序列,定义其“激动值”为序列中严格大于前面所有数的元素的个数.给定n个数p1;,p2.. ...
- win7下MySQL的安装配置及卸载 笔记分享
一.官网下载地址:https://dev.mysql.com/downloads/mysql/ 1.选择对应版本,下载免安装版: 2.不要注册账号,点击"No thanks,just sta ...
- python进行各类API的使用
前言: 献上歌曲一首: 因为快要上学了,昨天晚上熬夜.然后今天早上起床 没有什么精神.吃完午饭后开始思考今天写什么好呢 然后逛着逛着逛到了一个API网站.感觉还不错就爬了 0x01: 环境:windo ...