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

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

?? samuart.c

?? BK7S64開發板的uC/OS-II移植源代碼
?? C
字號:
#include "AT91SAM7S64.h"

#include "SAMuart.h"

#include "SAMinit.h"
#include <stdio.h>
#include <stdarg.h>

extern void SARM_IRQ_EN1(void);
extern void SARM_IRQ_DIS1(void);

volatile unsigned char tx1_in_ptr=0;
volatile unsigned char tx1_out_ptr=0;
volatile unsigned char uart1_tx_buf[UART1TX_BUF_SIZE]={0};

void Uart0Init(void)
{
  // clock
  AT91C_BASE_PMC->PMC_PCER=(1<<AT91C_ID_US0);  // USART0
  // pin
  AT91C_BASE_PIOA->PIO_PDR=(1<<5)|(1<<6);
  AT91C_BASE_PIOA->PIO_ASR=(1<<5)|(1<<6);      // RXD0,TXD0
  
  // 115200,n,8,1
  AT91C_BASE_US0->US_CR=0xAC;                  // RX,TX reset; RX,TX disable
  AT91C_BASE_US0->US_BRGR=(F_CPU>>4)/US0_BAUDRATE;
  AT91C_BASE_US0->US_MR=(4<<9)|AT91C_US_NBSTOP_1_BIT|AT91C_US_CHRL_8_BITS|AT91C_US_CLKS_CLOCK|AT91C_US_USMODE_NORMAL;                          
  //AT91C_BASE_US0->US_CR=0x50;                  // RXEN,TXEN
  
  AT91C_BASE_US0->US_IDR=0xF3FFF;              // disable all interrupts
  // AT91C_BASE_US0->US_IER  
}

void Uart1Init(void)
{
  // clock
  AT91C_BASE_PMC->PMC_PCER=(1<<AT91C_ID_US1);  // USART1
  // pin
  AT91C_BASE_PIOA->PIO_PDR=(1<<22)|(1<<21);
  AT91C_BASE_PIOA->PIO_ASR=(1<<22)|(1<<21);   // RXD1,TXD1
  
  // 115200,n,8,1
  AT91C_BASE_US1->US_CR=0xAC;
  AT91C_BASE_US1->US_BRGR=(F_CPU>>4)/US1_BAUDRATE;
  AT91C_BASE_US1->US_MR=(4<<9)|AT91C_US_NBSTOP_1_BIT|AT91C_US_CHRL_8_BITS|AT91C_US_CLKS_CLOCK|AT91C_US_USMODE_NORMAL;                          
  //AT91C_BASE_US1->US_CR=0x50;
  
  AT91C_BASE_US1->US_IDR=0xF3FFF;  // disable all interrupts
  
  AT91C_BASE_US1->US_IER=0x03;     // TXRDY , RXRDY  

  AT91C_BASE_AIC->AIC_IECR=1<<AT91C_ID_US1;
}

void Uart_Putchar(unsigned char uart,unsigned char ch)
{
 if(!uart)
   {
     while(!(AT91C_BASE_US0->US_CSR&0x02));
     AT91C_BASE_US0->US_THR=ch;
   }
 else
   {
     while(!(AT91C_BASE_US1->US_CSR&0x02));
     AT91C_BASE_US1->US_THR=ch;
   }
}

void Uart_SendStr(unsigned char uart,char *s)
{
 unsigned char tmp=0;
 
 if(!uart)	     // uart0
      { 
       while(*s)
	    {
	      Uart_Putchar(uart,*s);
	      s++;
	     } 	  
	  }
 else	         // uart1 SOFTWARE FIFO       
      {	  
       tmp=tx1_in_ptr;
	   
       SARM_IRQ_DIS1( );
       while(*s)
          {
           uart1_tx_buf[tx1_in_ptr]=*s;
	       s++;
	       if((++tx1_in_ptr) == UART1TX_BUF_SIZE) 
	                tx1_in_ptr=0;   
          }
   
       if(tmp==tx1_out_ptr)  // 初始化發送
          {
	       //if(++tx1_out_ptr == UART1TX_BUF_SIZE) tx1_out_ptr=0;
		   if(tx1_out_ptr == UART1TX_BUF_SIZE) tx1_out_ptr=0;
	       AT91C_BASE_US1->US_THR=uart1_tx_buf[tmp];
	       AT91C_BASE_US1->US_CR=0x40;     //啟動發送
          }
       SARM_IRQ_EN1( );	   
      }
	 
}


void uprintf(unsigned char uart,char *fmt,...)
{
 char str[0x60];
 va_list ap;

 //SARM_IRQ_DIS1();
 va_start(ap,fmt);
 vsprintf(str,fmt,ap);
 va_end(ap);

 //sprintf(str,"CPIV %d PICNT %d\n\r",(value &AT91C_PITC_CPIV),(value &AT91C_PITC_PICNT)>>20);

 Uart_SendStr(uart,str);
 //SARM_IRQ_EN1();
}

/******************************************************************************/
void Uart0ISR(void)
{
 unsigned int s=0;
 unsigned char ch=0;
 //unsigned char cnt=0;
 
 s=AT91C_BASE_US0->US_CSR;
 
 if(s&0x01)       // RXRDY
      {
	    ch= AT91C_BASE_US0->US_RHR;
	  }  
  
 if(s&0x02)       // TXRDY
      {
	   	  
	  }
}

void Uart1ISR(void)
{
 unsigned int s=0;
 unsigned char ch=0;
 unsigned char cnt=0;
 
 s=AT91C_BASE_US1->US_CSR;

 if(s&0x01)       // RXRDY
      {
	    ch= AT91C_BASE_US0->US_RHR; 
	  }  
  
 if(s&0x02)       // TXRDY
      {
	   	if(tx1_out_ptr>tx1_in_ptr) cnt= tx1_in_ptr + UART1TX_BUF_SIZE - tx1_out_ptr;
		else cnt= tx1_in_ptr - tx1_out_ptr;
		
		if(cnt)
		    {
			 AT91C_BASE_US1->US_THR=uart1_tx_buf[tx1_out_ptr];
						 if(++tx1_out_ptr == UART1TX_BUF_SIZE) tx1_out_ptr=0;
			}
		else      // 發送完成
            {
              AT91C_BASE_US1->US_CR=0x80; // TXDIS
            }	
	  } 
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产免费| 色婷婷精品久久二区二区蜜臂av | 国产一区二区三区免费看 | 蜜臀久久久久久久| 不卡av在线网| 精品日韩一区二区| 午夜精品久久久久久久久久| 国产成人免费视频网站高清观看视频| 欧美视频一区二区三区四区| 国产精品乱码一区二三区小蝌蚪| 免费在线观看精品| 欧美日韩一区二区三区不卡| 欧美激情中文字幕一区二区| 精品一区二区三区免费观看| 欧美精品123区| 亚洲综合网站在线观看| 99免费精品在线| 国产午夜久久久久| 老司机午夜精品| 欧美一级在线免费| 日韩主播视频在线| 欧美亚洲一区二区在线| 综合亚洲深深色噜噜狠狠网站| 国产一区日韩二区欧美三区| 69av一区二区三区| 日本视频一区二区三区| 91精品国产高清一区二区三区| 亚洲成人精品影院| 欧美日韩国产高清一区二区三区 | 91一区在线观看| 国产女人水真多18毛片18精品视频| 日本不卡一区二区三区高清视频| 欧美疯狂做受xxxx富婆| 亚洲成av人影院| 91精品国产综合久久久久久| 日韩电影在线观看网站| 日韩三级av在线播放| 免费成人你懂的| 2024国产精品| 成人激情动漫在线观看| 中文字幕日韩一区| 欧美在线你懂的| 午夜成人免费视频| 精品人在线二区三区| 国产美女在线精品| 亚洲男同1069视频| 欧美日韩一本到| 日本不卡123| 久久嫩草精品久久久精品| 高清国产午夜精品久久久久久| **性色生活片久久毛片| 日本大香伊一区二区三区| 五月综合激情日本mⅴ| 日韩精品一区二区三区四区| 国产一区二区不卡| 亚洲欧美精品午睡沙发| 欧美日韩高清在线播放| 国产精品一区在线| 亚洲人妖av一区二区| 欧美一卡在线观看| 国产成人av电影在线观看| 亚洲日本免费电影| 日韩一区二区三区观看| 成人高清视频免费观看| 日韩一区精品字幕| 国产精品你懂的在线欣赏| 色久综合一二码| 六月丁香婷婷久久| 最新久久zyz资源站| 日韩一级成人av| 99r精品视频| 麻豆精品久久精品色综合| 国产精品国模大尺度视频| 色吊一区二区三区| 精品一区二区三区在线观看| 日韩美女视频19| 欧美大黄免费观看| 欧美亚州韩日在线看免费版国语版| 美日韩一级片在线观看| 一区二区三区日韩欧美| 久久精品一区八戒影视| 制服丝袜成人动漫| 91精品福利视频| 国产黄色成人av| 日韩电影在线观看电影| 亚洲欧美日韩一区二区 | 国产高清不卡二三区| 亚洲成人www| 中文字幕欧美一区| 久久久久88色偷偷免费| 日韩欧美一区二区视频| 欧美日韩成人一区| 91成人免费电影| 北条麻妃一区二区三区| 国产乱人伦偷精品视频免下载| 午夜天堂影视香蕉久久| 亚洲欧美日韩国产一区二区三区| 久久久久国产精品麻豆| 日韩久久久精品| 91麻豆精品国产91久久久久| 在线一区二区视频| 色嗨嗨av一区二区三区| 91麻豆免费看| 97se亚洲国产综合在线| 成人av在线一区二区| 国产成人av一区二区三区在线| 精品一区二区三区影院在线午夜| 亚欧色一区w666天堂| 一区二区三区免费网站| 亚洲色图欧美激情| 日韩理论片在线| 亚洲视频中文字幕| 亚洲女同女同女同女同女同69| 国产精品丝袜一区| 国产精品久久久久久久久免费相片| 久久影院视频免费| 国产亚洲欧美激情| 日本一区二区三区四区在线视频| 久久亚洲春色中文字幕久久久| 中文字幕国产一区二区| 成人小视频在线观看| 国产精品国产自产拍高清av| 欧美va日韩va| 3d动漫精品啪啪1区2区免费| 91麻豆精品国产91久久久久久 | 中文字幕人成不卡一区| 国产精品进线69影院| 男人的天堂亚洲一区| a4yy欧美一区二区三区| 日韩欧美国产三级电影视频| 国产精品网友自拍| 蜜臀91精品一区二区三区| 色成人在线视频| 国产午夜精品一区二区三区嫩草 | 日韩精品一区二区在线观看| 亚洲免费在线观看| 国产成人av一区二区三区在线 | 在线观看日韩av先锋影音电影院| 欧美va日韩va| 日韩黄色在线观看| 色欧美日韩亚洲| 中文在线资源观看网站视频免费不卡 | 中文字幕一区二区在线观看| 久久精品72免费观看| 欧美三级日韩三级| 中文字幕中文乱码欧美一区二区| 久久国产精品第一页| 欧美日韩日日摸| 亚洲另类色综合网站| 丰满白嫩尤物一区二区| 欧美成人一区二区| 美女视频一区二区| 91精品国产91久久久久久最新毛片| 一区二区三区四区视频精品免费| 成人小视频在线| 国产欧美精品一区| 国产成人啪免费观看软件| 日韩美女在线视频| 久久99精品久久久久婷婷| 制服丝袜国产精品| 午夜激情一区二区| 91精品国产综合久久香蕉麻豆| 亚洲小说欧美激情另类| 91福利精品视频| 亚洲综合男人的天堂| 91久久线看在观草草青青| 成人欧美一区二区三区黑人麻豆| 懂色av一区二区三区蜜臀| 中文字幕欧美国产| 成a人片国产精品| 日韩伦理av电影| 欧美亚洲国产怡红院影院| 亚洲制服丝袜av| 在线播放欧美女士性生活| 日韩av一二三| www一区二区| 成人黄色一级视频| 1024成人网色www| 欧美性xxxxx极品少妇| 成人午夜视频免费看| 中文字幕不卡的av| 91激情五月电影| 午夜精品福利一区二区三区av| 777精品伊人久久久久大香线蕉| 日韩1区2区3区| 久久精品一区二区三区av| 成人av网址在线| 一区二区三区色| 日韩免费观看高清完整版 | 亚洲欧美视频一区| 欧美视频完全免费看| 麻豆国产精品视频| 欧美激情一区在线观看| 91麻豆文化传媒在线观看| 丝袜国产日韩另类美女| 日韩欧美123| 91丨porny丨蝌蚪视频| 水蜜桃久久夜色精品一区的特点| 日韩欧美123| 91亚洲精华国产精华精华液|