<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > UART---查詢方式(EasyARM2131)

          UART---查詢方式(EasyARM2131)

          作者: 時(shí)間:2016-11-10 來源:網(wǎng)絡(luò) 收藏
          /****************************************Copyright (c)********************

          **--------------File Info-------------------------------------------------
          ** File name:main.c
          ** Last modified Date: 2011-04-10
          ** Last Version:1.0
          ** Descriptions:The main() function example template
          **
          **-----------------------------------------------------------------------
          ** Created by:lxliu
          ** Created date:2011-04-10
          ** Version:1.0
          ** Descriptions:The original version
          **
          **-----------------------------------------------------------------------
          ** Modified by:
          ** Modified date:
          ** Version:
          ** Descriptions:
          ************************************************************************/
          #include "config.h"

          本文引用地址:http://www.ex-cimer.com/article/201611/317409.htm

          /***********************************************************************
          ** 函數(shù)名稱:DelayNS()
          ** 函數(shù)功能:長軟件延時(shí)
          ** 入口參數(shù):dly延時(shí)控制值,值越大,延時(shí)越長
          ** 出口參數(shù):無
          ***********************************************************************/

          void DelayNS(uint32 dly)
          {
          uint32 i;
          for(;dly>0;dly--)
          for(i=0;i<50000;i++);
          }

          #define UART_BPS 115200 //串口通信波特率
          /***********************************************************************
          ** 函數(shù)名稱:UART0_Init()
          ** 函數(shù)功能:串口初始化,設(shè)置為8位數(shù)據(jù)位,1位停止位,
          ** 無奇偶校驗(yàn),波特率為115200
          ** 入口參數(shù):無
          ** 出口參數(shù):無
          ***********************************************************************/
          void UART0_Init()
          {
          uint16 Fdiv;

          U0LCR = 0x83;
          Fdiv = (Fpclk/16)/UART_BPS;
          U0DLM = Fdiv/256;
          U0DLL = Fdiv%256;
          U0LCR = 0x03;
          }


          /***********************************************************************
          ** 函數(shù)名稱:UART0_GetByte()
          ** 函數(shù)功能:從串口接收一個(gè)字節(jié)數(shù)據(jù),使用查詢方式接收
          ** 入口參數(shù):無
          ** 出口參數(shù):接收到的數(shù)據(jù)
          ***********************************************************************/

          uint8 UART0_GetByte()
          {
          uint8 rcv_dat;

          while((U0LSR & 0x01) == 0);
          rcv_dat = U0RBR;

          return(rcv_dat);
          }

          /***********************************************************************
          ** 函數(shù)名稱:UART0_GetStr()
          ** 函數(shù)功能:串口接收
          ** 入口參數(shù):s 指向接收數(shù)據(jù)數(shù)組的指針
          ** n 接收的個(gè)數(shù)
          ** 出口參數(shù):無
          ***********************************************************************/
          void UART0_GetStr(uint8 *s, uint32 n)
          {
          for (;n>0;n--)
          {
          *s++ = UART0_GetByte();
          }

          }

          /***********************************************************************
          ** 函數(shù)名稱:UART0_SendByte()
          ** 函數(shù)功能:向串口發(fā)送字節(jié)數(shù)據(jù),并等待發(fā)送完畢,使用查詢方式
          ** 入口參數(shù):dat 要發(fā)送的數(shù)據(jù)
          ** 出口參數(shù):無
          ***********************************************************************/
          void UART0_SendByte(uint8 dat)
          {
          U0THR = dat;
          while((U0LSR & 0x40) == 0);

          }

          /***********************************************************************
          ** 函數(shù)名稱:UART0_SendStr()
          ** 函數(shù)功能:向串口發(fā)送一字符串
          ** 入口參數(shù):str 要發(fā)送的字符串的指針
          ** 出口參數(shù):無
          ***********************************************************************/
          void UART0_SendStr(uint8 const *str)
          {
          while(1)
          {
          if(*str == 看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();