zoukankan      html  css  js  c++  java
  • HI3531串口测试程序(arm) 分类: arm-linux-Ubuntu HI3531 2013-12-10 15:56 749人阅读 评论(3) 收藏

    #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;
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    IT经典书籍——Head First系列【推荐】
    IT经典书籍——Head First系列【推荐】
    使用JSP实现用户登录
    使用JSP实现用户登录
    【知乎精选】如何面试一个产品经理?如何判断一个产品经理是否是一个很牛的产品经理?
    淘宝API总结
    「用户标签」在数据库设计时应该如何存储?
    【爬虫集合】抖音API分析
    商业架构体系
    短视频带货
  • 原文地址:https://www.cnblogs.com/mao0504/p/4706703.html
Copyright © 2011-2022 走看看