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

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

?? uart.c

?? Kinetis_K60開源底層驅動開發包(20120328)
?? C
字號:
/*
 * File:        uart.c
 * Purpose:     Provide common UART routines for serial IO
 *
 * Notes:       
 *              
 */

#include "common.h"
#include "uart.h"

/********************************************************************/
/*
 * Initialize the UART for 8N1 operation, interrupts disabled, and
 * no hardware flow-control
 *
 * NOTE: Since the UARTs are pinned out in multiple locations on most
 *       Kinetis devices, this driver does not enable UART pin functions.
 *       The desired pins should be enabled before calling this init function.
 *
 * Parameters:
 *  uartch      UART channel to initialize
 *  sysclk      UART module Clock in kHz(used to calculate baud)
 *  baud        UART baud rate
 */
void uart_init (UART_MemMapPtr uartch, int sysclk, int baud)
{
    register uint16 sbr, brfa;
    uint8 temp;
    
	/* Enable the clock to the selected UART */    
    if(uartch == UART0_BASE_PTR)
		SIM_SCGC4 |= SIM_SCGC4_UART0_MASK;
    else
    	if (uartch == UART1_BASE_PTR)
			SIM_SCGC4 |= SIM_SCGC4_UART1_MASK;
    	else
    		if (uartch == UART2_BASE_PTR)
    			SIM_SCGC4 |= SIM_SCGC4_UART2_MASK;
    		else
    			if(uartch == UART3_BASE_PTR)
    				SIM_SCGC4 |= SIM_SCGC4_UART3_MASK;
    			else
    				if(uartch == UART4_BASE_PTR)
    					SIM_SCGC1 |= SIM_SCGC1_UART4_MASK;
    				else
    					SIM_SCGC1 |= SIM_SCGC1_UART5_MASK;
                                
    /* Make sure that the transmitter and receiver are disabled while we 
     * change settings.
     */
    UART_C2_REG(uartch) &= ~(UART_C2_TE_MASK
				| UART_C2_RE_MASK );

    /* Configure the UART for 8-bit mode, no parity */
    UART_C1_REG(uartch) = 0;	/* We need all default settings, so entire register is cleared */
    
    /* Calculate baud settings */
    sbr = (uint16)((sysclk*1000)/(baud * 16));
        
    /* Save off the current value of the UARTx_BDH except for the SBR field */
    temp = UART_BDH_REG(uartch) & ~(UART_BDH_SBR(0x1F));
    
    UART_BDH_REG(uartch) = temp |  UART_BDH_SBR(((sbr & 0x1F00) >> 8));
    UART_BDL_REG(uartch) = (uint8)(sbr & UART_BDL_SBR_MASK);
    
    /* Determine if a fractional divider is needed to get closer to the baud rate */
    brfa = (((sysclk*32000)/(baud * 16)) - (sbr * 32));
    
    /* Save off the current value of the UARTx_C4 register except for the BRFA field */
    temp = UART_C4_REG(uartch) & ~(UART_C4_BRFA(0x1F));
    
    UART_C4_REG(uartch) = temp |  UART_C4_BRFA(brfa);    

    /* Enable receiver and transmitter */
	UART_C2_REG(uartch) |= (UART_C2_TE_MASK
				| UART_C2_RE_MASK );
}
/********************************************************************/
/*
 * Wait for a character to be received on the specified UART
 *
 * Parameters:
 *  channel      UART channel to read from
 *
 * Return Values:
 *  the received character
 */
char uart_getchar (UART_MemMapPtr channel)
{
    /* Wait until character has been received */
    while (!(UART_S1_REG(channel) & UART_S1_RDRF_MASK));
    
    /* Return the 8-bit data from the receiver */
    return UART_D_REG(channel);
}
/********************************************************************/
/*
 * Wait for space in the UART Tx FIFO and then send a character
 *
 * Parameters:
 *  channel      UART channel to send to
 *  ch			 character to send
 */ 
void uart_putchar (UART_MemMapPtr channel, char ch)
{
    /* Wait until space is available in the FIFO */
    while(!(UART_S1_REG(channel) & UART_S1_TDRE_MASK));
    
    /* Send the character */
    UART_D_REG(channel) = (uint8)ch;
 }
/********************************************************************/
/*
 * Check to see if a character has been received
 *
 * Parameters:
 *  channel      UART channel to check for a character
 *
 * Return values:
 *  0       No character received
 *  1       Character has been received
 */
int uart_getchar_present (UART_MemMapPtr channel)
{
    return (UART_S1_REG(channel) & UART_S1_RDRF_MASK);
}
/********************************************************************/
    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
92精品国产成人观看免费| 久久久久久久久岛国免费| 在线视频欧美区| av电影一区二区| 成人黄色片在线观看| av电影在线观看一区| www.视频一区| 色婷婷一区二区三区四区| 成人av动漫网站| 91蝌蚪porny| 色呦呦日韩精品| 欧洲精品一区二区三区在线观看| 色婷婷精品久久二区二区蜜臂av | 日韩一区二区在线免费观看| 欧美视频第二页| 欧美日韩不卡一区| 在线不卡中文字幕播放| 4438成人网| 欧美成人伊人久久综合网| fc2成人免费人成在线观看播放| 天天综合网 天天综合色| 午夜a成v人精品| 久久精品72免费观看| 国产麻豆精品theporn| 成人手机电影网| 色综合久久中文综合久久牛| 欧美亚洲高清一区二区三区不卡| 在线电影院国产精品| 精品久久久久久最新网址| 国产性色一区二区| 亚洲视频一二三区| 亚洲成人av在线电影| 热久久国产精品| 国产一区欧美日韩| 色一情一乱一乱一91av| 911国产精品| 欧美精彩视频一区二区三区| 国产精品久久久久影视| 亚洲va欧美va天堂v国产综合| 激情久久五月天| 99在线精品一区二区三区| 欧美综合视频在线观看| 日韩精品专区在线| 亚洲国产精品99久久久久久久久| 亚洲黄色片在线观看| 精品一二三四在线| 91免费在线视频观看| 欧美一区二区三区喷汁尤物| 国产精品你懂的在线| 日韩高清不卡一区二区三区| 高清久久久久久| 欧美日韩小视频| 国产日韩精品一区二区三区| 亚洲国产日韩综合久久精品| 国产精品中文欧美| 欧美日韩免费高清一区色橹橹 | 欧美午夜视频网站| 久久噜噜亚洲综合| 五月婷婷色综合| av动漫一区二区| 欧美大度的电影原声| 亚洲一区免费观看| 国产精品一区不卡| 欧美一区二区久久久| 亚洲视频在线一区| 国产一区二区精品久久99| 在线观看日韩电影| 日本一区二区三区国色天香 | 亚洲国产综合视频在线观看| 国产一区91精品张津瑜| 欧美老肥妇做.爰bbww| 国产精品看片你懂得| 精品一二三四区| 6080国产精品一区二区| 亚洲人成7777| 国产成人av电影在线| 337p亚洲精品色噜噜| 一区二区三区电影在线播| 成人国产电影网| 精品久久久久久久一区二区蜜臀| 国产在线观看一区二区| 午夜精品久久久久久久久久久| 风间由美一区二区av101 | 夜夜嗨av一区二区三区四季av| 丁香婷婷综合激情五月色| 欧美第一区第二区| 午夜久久久久久久久| 日本精品一区二区三区高清| 国产精品嫩草久久久久| 国产成人在线视频网址| 日韩欧美第一区| 蜜桃精品视频在线| 欧美剧情电影在线观看完整版免费励志电影 | 精品视频123区在线观看| 亚洲乱码国产乱码精品精小说| 成人v精品蜜桃久久一区| 久久久99久久| 国产成人啪午夜精品网站男同| 亚洲精品在线免费观看视频| 青青草伊人久久| 9191成人精品久久| 丝袜亚洲另类丝袜在线| 欧日韩精品视频| 亚洲午夜视频在线观看| 在线观看免费视频综合| 亚洲免费视频成人| 色婷婷综合久久久久中文| 国产精品传媒视频| 99久久精品一区| 《视频一区视频二区| 激情深爱一区二区| 久久香蕉国产线看观看99| 六月丁香婷婷久久| 91精品国产手机| 日产欧产美韩系列久久99| 69成人精品免费视频| 麻豆久久久久久久| 26uuuu精品一区二区| 国产福利91精品| 国产精品精品国产色婷婷| av资源网一区| 一区二区三区在线观看网站| 欧美中文字幕一二三区视频| 日韩在线一区二区| 精品少妇一区二区三区日产乱码| 激情综合色播五月| 国产日韩欧美在线一区| 99这里只有精品| 亚洲福利视频导航| 精品欧美一区二区三区精品久久 | 成人在线视频首页| 亚洲区小说区图片区qvod| 91成人国产精品| 全部av―极品视觉盛宴亚洲| 欧美www视频| www.av精品| 亚洲成人动漫在线免费观看| 91精品国产综合久久精品性色| 精品无人码麻豆乱码1区2区| 1024精品合集| 在线播放一区二区三区| 国产精品18久久久久久vr| 国产精品久久夜| 7799精品视频| 国产成人免费视| 亚洲线精品一区二区三区| 久久亚洲一级片| 在线视频欧美精品| 精品一区二区三区在线播放视频| 久久精品视频一区二区三区| 97精品久久久午夜一区二区三区| 亚洲色图在线看| 亚洲精品在线电影| av一区二区三区黑人| 亚洲一二三四区不卡| 精品国精品自拍自在线| 成人av第一页| 亚洲成人激情社区| 久久天堂av综合合色蜜桃网| 欧美在线看片a免费观看| 精品综合久久久久久8888| 中文字幕视频一区二区三区久| 欧美在线视频日韩| 国产成人免费在线观看不卡| 亚洲午夜在线观看视频在线| 2020国产成人综合网| 亚洲18影院在线观看| 日韩午夜三级在线| 成人激情综合网站| 婷婷夜色潮精品综合在线| 国产精品九色蝌蚪自拍| 在线成人av影院| 99久久er热在这里只有精品66| 亚洲视频综合在线| 久久精品综合网| 欧美精选午夜久久久乱码6080| 国产成人精品一区二区三区四区 | 久久91精品国产91久久小草| www一区二区| 欧美亚洲图片小说| 国产91对白在线观看九色| 亚洲人成电影网站色mp4| 欧美日韩国产精品成人| 成人毛片在线观看| 丝袜诱惑制服诱惑色一区在线观看 | 色偷偷成人一区二区三区91| 国产一区二区在线观看视频| 1024成人网色www| 国产香蕉久久精品综合网| 在线综合视频播放| av电影在线观看不卡| 久久激情五月婷婷| 亚洲国产精品麻豆| 国产精品国产自产拍在线| 精品国产91九色蝌蚪| 日韩一级黄色片| 91福利视频久久久久| av一区二区不卡| 成人自拍视频在线观看| 狠狠色丁香婷婷综合久久片|