亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? uart1.c

?? dsp2407 串口測試程序
?? C
字號:
/*--------------------------------------------------------*/
/*  SPECTRUM DIGITAL INC.				                  */
/*--------------------------------------------------------*/
/* Onchip UART test for EVM320LF2407			          */
/*--------------------------------------------------------*/
/*							                              */
/* This test requires a loopback connector		          */
/*							                              */
/* filename:	uart1.c 				                  */
/* original:	02/17/1999   by: mls			          */
/* last update: 02/18/2000   by: rrp for 2407		      */
/*--------------------------------------------------------*/


#include "sci2407.h"
#include "ioreg.h"
#include "prot2407.h"

#define  TESTING_OUTPUT  0
#define  TEST_UART	 0


typedef volatile struct sci SCI_STRUCT;

unsigned int uart_send_char;
unsigned int uart_rec_char;

SCI_STRUCT *sciptr;             /* pointer to sci defined structure */

unsigned char uart1_test_msg[] = {"This is a test message from uart #1"};

void init_uart1(void)
{
   volatile unsigned int OCRAReg;

   sciptr = (SCI_STRUCT *)SCI;     /* overlay structure over the hardware */
				    /* 0x7050 for C2407 */

                                    /* 1 stop, no parity, 8 data, async */
                                    /* 0x17 */

   /* Reset the uart */
   sciptr->ctl1 = 0;

   wait_ms( 1 );

   sciptr->ctl1 = SW_RESET;


                                    /* reset low, clock internal,  */
                                    /* xmit enable, rec enable */
                                    /* 0x13 */



   sciptr->ccr = (unsigned int) (  SCI_CHAR2 | SCI_CHAR1 | SCI_CHAR0);

                                    
                                    
                                    /* enable TX & RX ints */
                                    /* 0x03 */

/* sciptr->ctl2 = (unsigned int) (RX_INT_EN | TX_INT_EN);   */
   sciptr->ctl2 = (unsigned int) 0x0000;   /* no interrupts */

                                    /* load the baud rate */
   sciptr->baud_hi = (unsigned int) (BAUD_9600 / 0x100);  
   sciptr->baud_lo = (unsigned int) (BAUD_9600 % 0x100); 

  /* set SCIRXD & SCITXD as fn pins */
  /* in OCRA Register  */

  OCRAReg = *(volatile unsigned int *)OCRA;
  OCRAReg = (TXD_FUNCTION | RXD_FUNCTION);
  *(volatile unsigned int *)OCRA = OCRAReg;

   /*-------------------------------------------------------------*/
   /* Set mode to soft						  */
   /*-------------------------------------------------------------*/

   sciptr->pri = PRI_SOFT;

   /*-------------------------------------------------------------*/
   /* xmit enable, rec enable					  */
   /*-------------------------------------------------------------*/
   sciptr->ctl1 = (unsigned int) (SW_RESET | TX_ENA | RX_ENA);


}



unsigned int chk_uart1_rec_full(void)
{
  unsigned int ctr, rec_full_status;

  rec_full_status = 0;
  ctr = 10000;

  while ((!rec_full_status) && (ctr--))
  {
    rec_full_status = sciptr->rxst;
    rec_full_status &= RXRDY;
  }
  if (!ctr)
  {
    rec_full_status = 0;
  }
  return(rec_full_status);
}

unsigned int chk_uart1_xmit_empty(void)
{
  unsigned int ctr, xmit_empty_status;

  xmit_empty_status = 0;
  ctr = 10000;
  while ((!xmit_empty_status) && (ctr--))
  {
    xmit_empty_status = sciptr->ctl2;  /* read xmit status */
    xmit_empty_status &= TX_EMPTY;
  }
  if (!ctr)
  {
    xmit_empty_status = 0;
  }
  return(xmit_empty_status);
}

unsigned int uart1_get_char(void)
{
  unsigned int ctr, rec_full_status;
  unsigned int in_char;

  rec_full_status = chk_uart1_rec_full();
  if (rec_full_status)
  {
    in_char = sciptr->rxbuf;            /* get data from rec buffer */
    in_char &= 0x00ff;
    return (in_char);                   /* return data */
  }
  return((unsigned int)0x8000);
}


unsigned int uart1_put_char(unsigned int out_char)
{
  unsigned int send_char_status;
  
  send_char_status = chk_uart1_xmit_empty();
  if (send_char_status)
  {
    sciptr->txbuf =  (0x00ff & out_char);  /* send data */
    return ((unsigned int) 0);             /* return no error */
  }
  return( (unsigned int) 0xffff);   /* return error */
                                       /* write out character here */
}

unsigned int uart1_put_string(unsigned char * out_string)
{
  unsigned int out_data;
  unsigned int send_string_status;

  while(*out_string)                     /* null terminated */
  {
     send_string_status = chk_uart1_xmit_empty();
     if (send_string_status)
     {
       out_data = *out_string++;         /* get character */
       uart1_put_char(out_data);        /* send data */
     }
     else
     {
       return( (unsigned int) 0xffff);   /* return error */
     }
  }
  return ((unsigned int) 0);             /* return no error */

}


unsigned int uart1test(void)
{
  unsigned int uart_status;
  unsigned int uart_ctr;
  unsigned int uart1_err;
   
  uart1_err = 0;                    /* show no error */

  init_uart1();            /* set up uart 9600, no parity, 1 stop */

  uart_ctr = wait_ms( 2 );

                                               /* put out a test string */
#if TESTING_OUTPUT
  while ( 1 )
  {
      uart1_err = uart1_put_string(uart1_test_msg);
      wait_ms( 100 );
  }

#endif

  uart_send_char = 0x00;             /* do 256 patterns */

#if TEST_UART
while ( 1)
{
  uart_send_char = 0x00;             /* do 256 patterns */
#endif

  while (uart_send_char < 0x100)
  {
    uart1_put_char(uart_send_char);

                                     /* check for error */
    uart_rec_char = uart1_get_char();      
    if (uart_rec_char == 0x8000)           
    {                                      
      uart1_err = 1;                       
      return(uart1_err);                   
    }                                      
    if (uart_rec_char != uart_send_char)   
    {                                      
      uart1_err = 2;                       
      return(uart1_err);                        /* show error */
    }                                      
    uart_send_char++; 
  }

#if TEST_UART
  }
#endif


  return(uart1_err);
}




unsigned int read_uart(void)
{
    unsigned int rcv_status = 0;
    unsigned int in_char;

    while ( !rcv_status )
    {
       rcv_status = sciptr->rxst;
       rcv_status &= RXRDY;
    }

     in_char = sciptr->rxbuf;		 /* get data from rec buffer */
    in_char &= 0x00ff;
    return (in_char);			/* return data */

}


unsigned int write_uart(unsigned int out_char)
{
  unsigned int xmit_status = 0;
  
  while( !xmit_status )
  {
      xmit_status = sciptr->ctl2;    /* read xmit status */
	xmit_status &= TX_EMPTY;
  /*	xmit_status &= TX_RDY;	  */
  }


  sciptr->txbuf =  (0x00ff & out_char);    /* send data */
  return ((unsigned int) 0);		   /* return no error */

}



unsigned int write_string(unsigned char * out_string)
{
  unsigned int out_data;
  unsigned int send_string_status;

  while(*out_string)                     /* null terminated */
  {
     out_data = *out_string++;	       /* get character */
     write_uart(out_data);	  /* send data */
  }
  return( 0 );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区丝袜| 大尺度一区二区| 《视频一区视频二区| 国产日韩欧美精品一区| 国产精品视频在线看| 国产精品美女久久久久久久久| 精品久久久三级丝袜| 中文字幕国产精品一区二区| 日韩精品一区二区三区在线 | 亚洲国产精品久久久男人的天堂| 北岛玲一区二区三区四区| 综合色天天鬼久久鬼色| 欧美偷拍一区二区| 麻豆精品视频在线| 国产精品白丝在线| 8x福利精品第一导航| 国产老妇另类xxxxx| 亚洲天堂久久久久久久| 在线不卡欧美精品一区二区三区| 精品亚洲国产成人av制服丝袜| 国产精品久久久久久久久快鸭| 欧美无乱码久久久免费午夜一区 | 久久精品久久99精品久久| 久久久不卡网国产精品一区| 色婷婷综合五月| 精油按摩中文字幕久久| 亚洲欧美一区二区三区孕妇| 综合自拍亚洲综合图不卡区| 国产色产综合产在线视频| 国产成人激情av| 亚洲三级免费电影| 在线不卡中文字幕| 99久久精品国产一区| 麻豆成人免费电影| 日韩精品午夜视频| 国产精品成人一区二区艾草| 3d成人动漫网站| 91视视频在线观看入口直接观看www | 精品国产一二三区| 色哟哟精品一区| 韩国v欧美v亚洲v日本v| 欧美色视频在线| 国产自产高清不卡| 亚洲成人激情社区| 国产精品久久久久久久第一福利| 欧美一激情一区二区三区| 99精品久久久久久| 国产精品88av| 美女网站在线免费欧美精品| 亚洲精品视频免费看| 久久久精品2019中文字幕之3| 欧美日韩高清一区| 91色九色蝌蚪| 懂色av中文字幕一区二区三区| 日韩中文字幕麻豆| 国产自产高清不卡| 五月婷婷另类国产| 一二三区精品视频| 国产精品麻豆99久久久久久| 久久亚洲精品小早川怜子| 日韩视频在线观看一区二区| 欧美亚洲综合另类| 欧日韩精品视频| 色欧美片视频在线观看| www.久久久久久久久| 国产九色精品成人porny| 捆绑调教美女网站视频一区| 日韩精品视频网| 日韩精彩视频在线观看| 天天综合色天天综合| 夜夜嗨av一区二区三区中文字幕 | 91高清视频在线| 99久久精品费精品国产一区二区| 成人一区二区三区视频| 成人免费视频视频在线观看免费| 国产在线麻豆精品观看| 国内精品伊人久久久久av一坑| 精品制服美女丁香| 国内外成人在线| 国产精品一区专区| 成人av综合在线| av不卡免费电影| 91小宝寻花一区二区三区| 日本精品视频一区二区| 在线精品视频一区二区三四| 欧洲亚洲国产日韩| 在线综合+亚洲+欧美中文字幕| 欧美一区二区三区性视频| 欧美一级片在线观看| 精品国产乱码久久久久久夜甘婷婷| 精品日韩一区二区| 久久久久一区二区三区四区| 欧美激情在线免费观看| 亚洲少妇最新在线视频| 亚洲国产一区二区三区| 五月天激情综合| 国产在线一区观看| eeuss国产一区二区三区| 99re6这里只有精品视频在线观看| 色呦呦一区二区三区| 欧美日韩欧美一区二区| 久久久午夜精品理论片中文字幕| 国产精品久久久久影院亚瑟| 伊人夜夜躁av伊人久久| 麻豆精品蜜桃视频网站| 成人自拍视频在线观看| 欧美少妇性性性| 久久综合一区二区| 亚洲精品伦理在线| 美国三级日本三级久久99 | 91久久线看在观草草青青| 欧美一区二区三区在线视频| 日本一区二区视频在线| 亚洲成人一区二区| 成人午夜电影久久影院| 欧美日韩在线播放三区四区| 精品国产免费一区二区三区香蕉| 自拍偷自拍亚洲精品播放| 91在线无精精品入口| 56国语精品自产拍在线观看| 国产欧美日本一区视频| 天天操天天干天天综合网| 波多野结衣91| 欧美一级黄色录像| 伊人婷婷欧美激情| 成人性色生活片| 欧美一区二区福利在线| 一区二区三区在线观看视频 | 亚洲成a天堂v人片| 豆国产96在线|亚洲| 91精品国产91久久久久久一区二区 | 欧美一个色资源| 亚洲人成网站影音先锋播放| 狠狠色伊人亚洲综合成人| 欧美性videosxxxxx| 中文字幕va一区二区三区| 久久电影国产免费久久电影| 欧美日韩你懂的| 一区二区三区欧美激情| 成人午夜精品一区二区三区| 日韩视频一区二区三区在线播放| 亚洲欧美激情视频在线观看一区二区三区| 精品一区二区免费| 91精品黄色片免费大全| 亚洲一区二区视频在线| 91免费国产视频网站| 日本一区二区三区国色天香| 久久国产精品区| 欧美一级国产精品| 亚洲 欧美综合在线网络| 色噜噜久久综合| 亚洲天堂a在线| 99精品在线观看视频| 国产精品你懂的在线| 国产成人精品亚洲日本在线桃色| 日韩一区二区高清| 免费高清在线视频一区·| 欧美猛男超大videosgay| 亚洲一卡二卡三卡四卡无卡久久| 99re热视频精品| 亚洲免费在线观看| 在线观看亚洲精品视频| 亚洲麻豆国产自偷在线| 色噜噜狠狠色综合中国| 一区二区免费视频| 欧美亚洲愉拍一区二区| 亚洲国产色一区| 欧美美女bb生活片| 美女www一区二区| 久久蜜桃香蕉精品一区二区三区| 国产一区二区三区免费| 久久综合精品国产一区二区三区| 国产在线播放一区三区四| 国产偷国产偷亚洲高清人白洁| 国产精品一二三区| 中文字幕一区二区日韩精品绯色| jlzzjlzz国产精品久久| 依依成人综合视频| 91精品国产高清一区二区三区| 美腿丝袜亚洲综合| 26uuu亚洲| 99久久久国产精品| 亚洲一区在线观看视频| 日韩亚洲欧美综合| 国内不卡的二区三区中文字幕 | www.日韩av| 亚洲一区二区四区蜜桃| 欧美一区二区三区不卡| 国产一区二区三区高清播放| 中文字幕中文字幕一区| 欧美色涩在线第一页| 韩国女主播一区| 亚洲欧美偷拍另类a∨色屁股| 欧美午夜在线观看| 韩国女主播一区| 一区二区三区中文在线| 国产精品视频免费看| 欧美日韩在线播放一区| 激情丁香综合五月| 亚洲欧美日韩国产一区二区三区|