色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

CKS32F4xx系列產(chǎn)品串口介紹及配置方法

中科芯MCU ? 來(lái)源:中科芯MCU ? 2023-04-03 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

串口通訊 (Serial Communication) 是一種設(shè)備間非常常用的串行通訊方式,因?yàn)樗?jiǎn)單便捷,大部分電子設(shè)備都支持該通訊方式。串口在CKS32上應(yīng)用最多的莫過(guò)于“打印”程序信息,一般在硬件設(shè)計(jì)時(shí)都會(huì)預(yù)留一個(gè)串口連接電腦,用于在調(diào)試程序時(shí)可以把一些調(diào)試信息“打印”在電腦端的串口調(diào)試助手工具上,從而了解程序運(yùn)行是否正確、指出程序運(yùn)行出錯(cuò)位置等等。

CKS32F4xx系列產(chǎn)品串口介紹

CKS32F4xx系列最多可提供6路串口,其中四個(gè)USART和兩個(gè)UART。USART和UART在引腳上的區(qū)別是:UART只有RX和TX引腳,而USART除了這兩個(gè)引腳之外,還有流控引腳RTS和CTS,以及時(shí)鐘引腳SCLK。CKS32F4xx系列產(chǎn)品的USART1和USART6時(shí)鐘來(lái)源于APB2總線時(shí)鐘,其最大頻率為84MHz,因此這兩個(gè)串口的通信速度最高可達(dá)10.5Mbit/s。而其它四個(gè)的時(shí)鐘來(lái)源于APB1總線時(shí)鐘,其最大頻率為42MHz,因此這四個(gè)串口的通信速度最高可達(dá)5.25Mbit/s。因?yàn)閁SART有SCLK引腳,因此CKS32F4xx系列產(chǎn)品的USART具有同步通信功能,而UART只有異步通信功能。同時(shí)USART還支持ISO7816的智能卡接口。但是當(dāng)USART和UART都用在異步通信的時(shí)候,兩者是沒(méi)有什么區(qū)別的。CKS32F4xx系列的6個(gè)串口都支持DMA傳輸。

CKS32F4xx系列產(chǎn)品的串口在發(fā)送數(shù)據(jù)時(shí),當(dāng)發(fā)送使能位TE置1之后,發(fā)送器開(kāi)始會(huì)先發(fā)送一個(gè)空閑幀(一個(gè)數(shù)據(jù)幀長(zhǎng)度的高電平),然后就可以往USART_DR寄存器寫(xiě)入要發(fā)送的數(shù)據(jù)。在寫(xiě)入最后一個(gè)數(shù)據(jù)后,需要等USART狀態(tài)寄存器(USART_SR)的TC位為1,表示數(shù)據(jù)傳輸完成,如果USART_CR1寄存器的TCIE位置1,將產(chǎn)生中斷。串口發(fā)送的一個(gè)字符幀由三個(gè)部分組成:起始位+數(shù)據(jù)幀+停止位。起始位是一個(gè)位周期的低電平;數(shù)據(jù)幀就是我們要發(fā)送的8位或9位數(shù)據(jù),數(shù)據(jù)是從最低位開(kāi)始傳輸?shù)模煌V刮皇且欢〞r(shí)間周期的高電平。停止位時(shí)間長(zhǎng)短是可以通過(guò)USART控制寄存器2(USART_CR2)的STOP[1:0]位控制,可選0.5個(gè)、1個(gè)、1.5個(gè)和2個(gè)停止位。默認(rèn)使用1個(gè)停止位。2個(gè)停止位適用于正常USART模式、單線模式和調(diào)制解調(diào)器模式。0.5個(gè)和1.5個(gè)停止位用于智能卡模式。

CKS32F4xx系列產(chǎn)品的串口在接收數(shù)據(jù)時(shí),需要先將USART_CR1寄存器的RE 位置1,使能USART接收,使得接收器在RX線開(kāi)始搜索起始位。在確定到起始位后就根據(jù)RX線電平狀態(tài)把數(shù)據(jù)存放在接收移位寄存器內(nèi)。接收完成后就把接收移位寄存器數(shù)據(jù)移到RDR內(nèi),并把USART_SR寄存器的RXNE位置1,同時(shí)如果 USART_CR2寄存器的RXNEIE置1的話可以產(chǎn)生中斷。

CKS32F4xx系列產(chǎn)品控制器的USART支持奇偶校驗(yàn)。當(dāng)使用校驗(yàn)位時(shí),串口傳輸?shù)拈L(zhǎng)度將是8位的數(shù)據(jù)幀加上1位的校驗(yàn)位總共9位,奇偶校驗(yàn)由硬件自動(dòng)完成。啟動(dòng)了奇偶校驗(yàn)控制之后,在發(fā)送數(shù)據(jù)幀時(shí)會(huì)自動(dòng)添加校驗(yàn)位,接收數(shù)據(jù)時(shí)自動(dòng)驗(yàn)證校驗(yàn)位。接收數(shù)據(jù)時(shí)如果出現(xiàn)奇偶校驗(yàn)位驗(yàn)證失敗,則可以產(chǎn)生奇偶校驗(yàn)中斷。使能了奇偶校驗(yàn)控制后,每個(gè)字符幀的格式將變成:起始位+數(shù)據(jù)幀 +校驗(yàn)位+停止位。

USART有多個(gè)中斷請(qǐng)求事件,具體如下表所示:在串口的中斷服務(wù)函數(shù)里,通過(guò)對(duì)這些中斷事件標(biāo)志的檢測(cè),就可以判斷出是何種事件發(fā)生,然后再做出相應(yīng)的處理。

daa7d526-d085-11ed-bfe3-dac502259ad0.jpg

CKS32F4xx系列產(chǎn)品串口的配置

接下來(lái)我們講解如何利用CKS32F4xx系列固件庫(kù)來(lái)完成對(duì)串口的配置使用。首先標(biāo)準(zhǔn)庫(kù)函數(shù)定義了一個(gè)串口初始化結(jié)構(gòu)體USART_InitTypeDef,結(jié)構(gòu)體成員用于設(shè)置串口的工作參數(shù),并由外設(shè)初始化配置函數(shù)USART_Init()調(diào)用,從而完成對(duì)串口相應(yīng)寄存器的配置,進(jìn)一步達(dá)到完成對(duì)串口配置的目的。

typedef struct 
{ 
uint32_t USART_BaudRate;   // 波特率 
uint16_t USART_WordLength; // 字長(zhǎng) 
uint16_t USART_StopBits;    // 停止位 
uint16_t USART_Parity;      // 校驗(yàn)位 
uint16_t USART_Mode;      // USART 模式 
uint16_t USART_HardwareFlowControl; // 硬件流控制 
} USART_InitTypeDef; 

結(jié)構(gòu)體中各個(gè)成員變量的介紹及初始化時(shí)可被賦的值如下:

1) USART_BaudRate:波特率設(shè)置。一般設(shè)置為 2400、9600、19200、115200。標(biāo)準(zhǔn)庫(kù)函數(shù)會(huì)根據(jù)設(shè)定值計(jì)算得到USARTDIV值,并設(shè)置USART_BRR寄存器值。

2) USART_WordLength:數(shù)據(jù)幀字長(zhǎng),可選8位或9位。它設(shè)定USART_CR1 寄存器的M位的值。如果沒(méi)有使能奇偶校驗(yàn)控制,一般使用8位數(shù)據(jù)幀長(zhǎng);如果使能了奇偶校驗(yàn)則一般設(shè)置為9位數(shù)據(jù)幀長(zhǎng)。

#define USART_WordLength_8b                  ((uint16_t)0x0000)
#define USART_WordLength_9b                  ((uint16_t)0x1000)

3) USART_StopBits: 停止位設(shè)置,可選0.5個(gè)、1個(gè)、1.5個(gè)和 2個(gè)停止位,它設(shè)定USART_CR2寄存器的STOP[1:0]位的值,一般我們選擇1個(gè)停止位。

#define USART_StopBits_1                     ((uint16_t)0x0000)
#define USART_StopBits_0_5                   ((uint16_t)0x1000)
#define USART_StopBits_2                     ((uint16_t)0x2000)
#define USART_StopBits_1_5                   ((uint16_t)0x3000)

4) USART_Parity: 奇偶校驗(yàn)控制選擇,可選USART_Parity_No(無(wú)校驗(yàn))、USART_Parity_Even(偶校驗(yàn))以及USART_Parity_Odd(奇校驗(yàn)),它設(shè)定 USART_CR1寄存器的PCE位和PS位的值。

#define USART_Parity_No                      ((uint16_t)0x0000)
#define USART_Parity_Even                    ((uint16_t)0x0400)
#define USART_Parity_Odd                     ((uint16_t)0x0600) 

5) USART_Mode: USART模式選擇,有USART_Mode_Rx和USART_Mode_Tx,允許使用邏輯或運(yùn)算選擇兩個(gè),它設(shè)定USART_CR1寄存器的RE位和TE位。

#define USART_Mode_Rx                        ((uint16_t)0x0004)
#define USART_Mode_Tx                        ((uint16_t)0x0008)

6) USART_HardwareFlowControl: 硬件流控制選擇,只有在硬件流控制模式才有效,可選使能RTS、使能CTS、同時(shí)使能RTS和CTS、不使能硬件流。

#define USART_HardwareFlowControl_None       ((uint16_t)0x0000)
#define USART_HardwareFlowControl_RTS        ((uint16_t)0x0100)
#define USART_HardwareFlowControl_CTS        ((uint16_t)0x0200)
#define USART_HardwareFlowControl_RTS_CTS    ((uint16_t)0x0300)

當(dāng)使用同步模式時(shí)需要配置SCLK引腳輸出脈沖的屬性,標(biāo)準(zhǔn)庫(kù)使用一個(gè)時(shí)鐘初始化結(jié)構(gòu)體USART_ClockInitTypeDef來(lái)設(shè)置,不使用時(shí)不需要設(shè)置。

typedef struct 
{ 
uint16_t USART_Clock; // 時(shí)鐘使能控制 
uint16_t USART_CPOL; // 時(shí)鐘極性 
uint16_t USART_CPHA; // 時(shí)鐘相位 
uint16_t USART_LastBit; // 最尾位時(shí)鐘脈沖 
} USART_ClockInitTypeDef; 

結(jié)構(gòu)體中各個(gè)成員變量的介紹及初始化時(shí)可被賦的值如下:

1) USART_Clock: 同步模式下SCLK引腳上時(shí)鐘輸出使能控制,可選禁止時(shí)鐘輸出(USART_Clock_Disable)或開(kāi)啟時(shí)鐘輸出(USART_Clock_Enable);如果使用同步模式發(fā)送,一般都需要開(kāi)啟時(shí)鐘。它設(shè)定USART_CR2寄存器的CLKEN位的值。

#define USART_Clock_Disable                  ((uint16_t)0x0000)
#define USART_Clock_Enable                   ((uint16_t)0x0800)

2) USART_CPOL: 同步模式下SCLK引腳上輸出時(shí)鐘極性設(shè)置,可設(shè)置在空閑時(shí)SCLK引腳為低電平(USART_CPOL_Low)或高電平(USART_CPOL_High)。它設(shè)定USART_CR2寄存器的CPOL位的值。

#define USART_CPOL_Low                       ((uint16_t)0x0000)
#define USART_CPOL_High                      ((uint16_t)0x0400)

3) USART_CPHA: 同步模式下SCLK引腳上輸出時(shí)鐘相位設(shè)置,可設(shè)置在時(shí)鐘第一個(gè)變化沿捕獲數(shù)據(jù)(USART_CPHA_1Edge)或在時(shí)鐘第二個(gè)變化沿捕獲數(shù)據(jù)。它設(shè)定USART_CR2寄存器的CPHA位的值。USART_CPHA與USART_CPOL配合使用可以獲得多種模式時(shí)鐘關(guān)系。

#define USART_CPHA_1Edge                     ((uint16_t)0x0000)
#define USART_CPHA_2Edge                     ((uint16_t)0x0200)

4) USART_LastBit: 選擇在發(fā)送最后一個(gè)數(shù)據(jù)位的時(shí)候時(shí)鐘脈沖是否在 SCLK引腳輸出,可以是不輸出脈沖(USART_LastBit_Disable)、輸出脈沖 (USART_LastBit_Enable)。它設(shè)定USART_CR2寄存器的LBCL位的值。

#define USART_LastBit_Disable                ((uint16_t)0x0000)
#define USART_LastBit_Enable                 ((uint16_t)0x0100)

要完成串口正常的收發(fā)數(shù)據(jù),還需要標(biāo)準(zhǔn)庫(kù)中的這些函數(shù)配合使用。

(1) void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)函數(shù):

void USART_SendData(USART_TypeDef* USARTx, uint16_t Data)
{
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_USART_DATA(Data)); 
  USARTx->DR = (Data & (uint16_t)0x01FF);
}

該函數(shù)的功能是向串口寄存器USART_DR寫(xiě)入一個(gè)數(shù)據(jù),有兩個(gè)入口參數(shù),第一個(gè)是選擇是哪個(gè)串口,其可選擇的值為USART1、USART2、USART3、USART6、UART4、UART5。第二個(gè)參數(shù)是待發(fā)送的數(shù)據(jù),其值只要滿足如下條件即可:

#define IS_USART_DATA(DATA) ((DATA) <= 0x1FF)

(2) uint16_t USART_ReceiveData(USART_TypeDef* USARTx)函數(shù):

uint16_t USART_ReceiveData(USART_TypeDef* USARTx)
{
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  return (uint16_t)(USARTx->DR & (uint16_t)0x01FF);
}

該函數(shù)的功能是從USART_DR寄存器讀取串口接收到的數(shù)據(jù),只有一個(gè)入口參數(shù),即選擇是哪個(gè)串口。

(3) void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState)函數(shù):

void USART_Cmd(USART_TypeDef* USARTx, FunctionalState NewState)
{
  assert_param(IS_USART_ALL_PERIPH(USARTx));
  assert_param(IS_FUNCTIONAL_STATE(NewState));
  if (NewState != DISABLE)
  {
    USARTx->CR1 |= USART_CR1_UE;
  }
  else
  {
  USARTx->CR1 &= (uint16_t)~((uint16_t)USART_CR1_UE);
  }
}

要完成串口正常的收發(fā)數(shù)據(jù),還需要標(biāo)準(zhǔn)庫(kù)中的這些函數(shù)配合使用。

該函數(shù)的功能是使能串口。有兩個(gè)入口參數(shù),第一個(gè)是選擇是哪個(gè)串口,其可選擇的值為USART1、USART2、USART3、USART6、UART4、UART5。第二個(gè)參數(shù)是使能或者不使能,其值為DISABLE或者ENABLE。

(4) void USART3_IRQHandler(void) 串口中斷服務(wù)程序函數(shù):

當(dāng)發(fā)生中斷的時(shí)候,程序就會(huì)執(zhí)行中斷服務(wù)函數(shù)。然后我們?cè)谥袛喾?wù)函數(shù)中編寫(xiě)我們相應(yīng)的邏輯代碼即可。

(5) FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, uint16_t USART_FLAG)函數(shù):

該函數(shù)的功能是讀取串口的狀態(tài),第一個(gè)入口參數(shù)和上面的一樣。這里重點(diǎn)講解第二個(gè)入口參數(shù),它是標(biāo)示我們要查看串口的哪種狀態(tài),可選的值及其代表的意義如表格所示:

db0e26aa-d085-11ed-bfe3-dac502259ad0.jpg

(6) ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT)函數(shù):

當(dāng)我們使能了某個(gè)中斷的時(shí)候,當(dāng)該中斷發(fā)生了,就會(huì)設(shè)置狀態(tài)寄存器中的某個(gè)標(biāo)志位。經(jīng)常我們?cè)谥袛嗵幚砗瘮?shù)中,要判斷該中斷是哪種中斷,這時(shí)候就會(huì)使用該函數(shù)。第二個(gè)入口參數(shù)可選的值及其代表的意義如表格所示:

db3a3114-d085-11ed-bfe3-dac502259ad0.jpg

串口接發(fā)通信實(shí)驗(yàn)

接下來(lái)我們根據(jù)上面講解的串口通信的知識(shí),實(shí)際編寫(xiě)一個(gè)軟件程序?qū)崿F(xiàn)串口的接發(fā)通信。代碼實(shí)現(xiàn)的現(xiàn)象是在開(kāi)發(fā)板一上電時(shí)會(huì)通過(guò)print函數(shù)發(fā)送一串字符串“start”給電腦,然后開(kāi)發(fā)板進(jìn)入中斷接收等待狀態(tài)。如果電腦有發(fā)送數(shù)據(jù)過(guò)來(lái),開(kāi)發(fā)板就會(huì)產(chǎn)生中斷, 我們?cè)谥袛喾?wù)函數(shù)里接收數(shù)據(jù),并將接收到數(shù)據(jù)標(biāo)志位置1,在主函數(shù)里對(duì)標(biāo)志位經(jīng)過(guò)判斷之后再把數(shù)據(jù)返回發(fā)送給電腦。

1.編程要點(diǎn)

1) 使能RX和TX引腳GPIO時(shí)鐘和USART3時(shí)鐘;

2) 初始化GPIO,并將GPIO復(fù)用到USART3上;

3) 配置USART3參數(shù);

4) 配置中斷控制器并使能USART3接收中斷;

5) 使能USART3;

6) 在USART3接收中斷服務(wù)函數(shù)里接收數(shù)據(jù)并將接收到數(shù)據(jù)的標(biāo)志位置1。

2.代碼分析

代碼清單1:USART3初始化配置

其初始化串口的過(guò)程和我們前面講解的編程要點(diǎn)中的過(guò)程是一致的。因?yàn)槲覀兪褂玫搅舜诘闹袛嘟邮眨虼诵枰_(kāi)啟串口3的NVIC中斷并對(duì)其進(jìn)行配置。

void uart_init(u32 bound)
{
    GPIO_InitTypeDef GPIO_InitStructure;
  USART_InitTypeDef USART_InitStructure;
  NVIC_InitTypeDef NVIC_InitStructure;
//使能RX和TX引腳GPIO時(shí)鐘
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB,ENABLE);
//使能USART3時(shí)鐘
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);
  //初始化GPIO,并將GPIO復(fù)用到USART3上
  GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_USART3); 
  GPIO_PinAFConfig(GPIOB,GPIO_PinSource11,GPIO_AF_USART3); 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
  GPIO_Init(GPIOB,&GPIO_InitStructure); 
   //配置USART3參數(shù)
  USART_InitStructure.USART_BaudRate = bound;//波特率設(shè)置
  USART_InitStructure.USART_WordLength = USART_WordLength_8b; 
  USART_InitStructure.USART_StopBits = USART_StopBits_1; 
  USART_InitStructure.USART_Parity = USART_Parity_No; 
  USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
  USART_InitStructure.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;  
    USART_Init(USART3, &USART_InitStructure); 
//使能USART3
    USART_Cmd(USART3, ENABLE); 
//配置中斷控制器并使能USART3接收中斷;  
#if EN_USART3_RX  
  USART_ITConfig(USART3, USART_IT_RXNE, ENABLE); 
  NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; 
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
  NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;  
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;    
  NVIC_Init(&NVIC_InitStructure);  
#endif  
}

代碼清單2:USART3中斷服務(wù)函數(shù)

當(dāng)USART3有接收到數(shù)據(jù)時(shí)就會(huì)執(zhí)行USART3_IRQHandler函數(shù)。然使用if 語(yǔ)句來(lái)判斷是否是真的產(chǎn)生USART3數(shù)據(jù)接收這個(gè)中斷事件,如果是真的就使用 USART數(shù)據(jù)讀取函數(shù)USART_ReceiveData讀取數(shù)據(jù)到指定存儲(chǔ)區(qū)Res,并將自己定義的一個(gè)標(biāo)志位Rxflag置1。

void USART3_IRQHandler(void)                
{
  if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET) 
  {
    Res =USART_ReceiveData(USART3);//(USART1->DR);  
    Rxflag=1;         
  } 
}

代碼清單3:字符函數(shù)

//發(fā)送一個(gè)字符函數(shù)
static void Usart_SendByte( USART_TypeDef * pUSARTx, uint8_t ch )
{
  USART_SendData(pUSARTx,ch);
  while (USART_GetFlagStatus(pUSARTx, USART_FLAG_TXE) == RESET);  
}
//發(fā)送指定長(zhǎng)度字符的函數(shù)
void Usart_SendStr_length( USART_TypeDef * pUSARTx, uint8_t *str,uint32_t strlen )
{
  unsigned int k=0;
    do 
    {
        Usart_SendByte( pUSARTx, *(str + k) );
        k++;
    } while(k < strlen);
}

Usart_SendByte函數(shù)用來(lái)在指定USART發(fā)送一個(gè)ASCLL碼值字符,它有兩個(gè)形參,第一個(gè)為USART,第二個(gè)為待發(fā)送的字符。它是通過(guò)調(diào)用庫(kù)函數(shù) USART_SendData來(lái)實(shí)現(xiàn)的,并且增加了等待發(fā)送完成功能。

Usart_SendString函數(shù)用來(lái)發(fā)送一個(gè)字符串,它實(shí)際是調(diào)用 Usart_SendByte函數(shù)發(fā)送每個(gè)字符,直到遇到空字符才停止發(fā)送。最后使用循環(huán)檢測(cè)發(fā)送完成的事件標(biāo)志來(lái)實(shí)現(xiàn)保證數(shù)據(jù)發(fā)送完成后才退出函數(shù)。

代碼清單4:printf函數(shù)支持

#if 1
#pragma import(__use_no_semihosting)                             
struct __FILE 
{ 
  int handle; 
}; 
FILE __stdout;         
void _sys_exit(int x) 
{ 
  x = x; 
} 
int fputc(int ch, FILE *f)
{   
  while((USART3->SR&0X40)==0);//循環(huán)發(fā)送,直到發(fā)送完畢   
  USART3->DR = (u8) ch;      
  return ch;
}
#endif

這段代碼是引入printf函數(shù)支持所必須的,加入這段代碼加入之后便可以通過(guò)printf函數(shù)向串口發(fā)送我們需要的內(nèi)容,方便開(kāi)發(fā)過(guò)程中查看代碼執(zhí)行情況以及一些變量值。如果我們使用不同的串口,對(duì)這段代碼的修改一般也只是用來(lái)改變 printf 函數(shù)針對(duì)的串口號(hào),比如將上述代碼中的USART3改成USART1即可。

代碼清單5:主函數(shù)

u8 Res;
u8 Rxflag;
u8 USART_RX_BUF[USART_REC_LEN];  
u8 usRxCount=0; 
int main(void)
{ 
  NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  delay_init(168);     
  uart_init(115200);   
  printf("start
");
  while(1)
  {
    if(Rxflag)
    {
      if (usRxCount < sizeof(USART_RX_BUF))
      {
        USART_RX_BUF[usRxCount++] = Res;
      }
      else
      {
        usRxCount = 0;
      }
      /* 遇到換行字符,就把數(shù)據(jù)發(fā)送到串口助手*/
    if (Res == 0x0A)  /* 換行字符 */
    {    
     Usart_SendStr_length(USART3,USART_RX_BUF, usRxCount );
        usRxCount = 0;
      }
      Rxflag=0;
    }
  }
}

首先我們調(diào)用NVIC_PriorityGroupConfig函數(shù)完成對(duì)NVIC的初始化,然后調(diào)用uart_init函數(shù)完成對(duì)串口的初始化,這里將串口波特率設(shè)置成可115200(位/秒)。接著利用printf函數(shù)發(fā)送一次“start”到串口調(diào)試助手。然后對(duì)Rxflag的值進(jìn)行判斷,當(dāng)接收到了數(shù)據(jù),即Rxflag的值為1時(shí),對(duì)接收的數(shù)據(jù)長(zhǎng)度進(jìn)行判斷,USART_REC_LEN是我們定義的接收最大字節(jié)數(shù),這個(gè)值可以根據(jù)自己的需要進(jìn)行修改。當(dāng)接收的數(shù)據(jù)在最大字節(jié)數(shù)范圍之內(nèi)時(shí),把接收到的數(shù)據(jù)賦值到數(shù)組USART_RX_BUF里,同時(shí)當(dāng)接收到的數(shù)據(jù)為0x0A,即換行字符時(shí),利用Usart_SendStr_length函數(shù)將接收到的數(shù)據(jù)發(fā)送出去。因此在利用串口調(diào)試助手向MCU發(fā)送數(shù)據(jù)時(shí),要勾選“加回車(chē)換行符”。

在本程序中我們?cè)O(shè)置串口進(jìn)入中斷的方式為數(shù)據(jù)寄存器非空即進(jìn)一次中斷,因此每個(gè)字節(jié)的接收都會(huì)進(jìn)一次中斷,這會(huì)導(dǎo)致CPU的效率大大降低,因此在下一節(jié)我們將會(huì)講解利用DMA的方式對(duì)串口的數(shù)據(jù)進(jìn)行發(fā)送和接收。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5444

    瀏覽量

    125224
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1592

    瀏覽量

    80371
  • 引腳
    +關(guān)注

    關(guān)注

    16

    文章

    1807

    瀏覽量

    53353
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1278

    瀏覽量

    104320
  • 串口通信
    +關(guān)注

    關(guān)注

    34

    文章

    1642

    瀏覽量

    56985

原文標(biāo)題:MCU微課堂 | CKS32F4xx系列產(chǎn)品串口通信

文章出處:【微信號(hào):中科芯MCU,微信公眾號(hào):中科芯MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MCU微課堂|CKS32F4xx系列產(chǎn)品時(shí)鐘配置

    ,并且高時(shí)鐘頻率將導(dǎo)致功耗增加、抗電磁干擾能力變?nèi)酰虼耍?b class='flag-5'>CKS32F4xx系列產(chǎn)品內(nèi)部具備多個(gè)時(shí)鐘源。本文將對(duì)CKS32F4xx系列產(chǎn)品時(shí)鐘組成進(jìn)行分析,并講解該系統(tǒng)單片機(jī)的時(shí)鐘的
    發(fā)表于 12-12 10:17 ?1052次閱讀

    CKS32F4xx系列DSP功能介紹

    CKS32F4xx系列使用高性能的32位內(nèi)核,支持浮點(diǎn)運(yùn)算單元(FPU),同時(shí)還支持DSP指令以及存儲(chǔ)保護(hù)(MPU)用來(lái)加強(qiáng)應(yīng)用的安全性。
    的頭像 發(fā)表于 03-04 13:43 ?2289次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DSP功能<b class='flag-5'>介紹</b>

    CKS32F4xx系列mcu的GPIO口配置方法

    GPIO(General-purpose input/output)是通用輸入輸出端口的簡(jiǎn)稱,CKS32F4xx系列產(chǎn)品通過(guò)GPIO引腳與外部設(shè)備連接起來(lái),從而實(shí)現(xiàn)與外部通訊、控制以及數(shù)據(jù)采集的功能。
    發(fā)表于 12-26 11:32 ?1641次閱讀

    CKS32F4xx系列產(chǎn)品NVIC中斷優(yōu)先級(jí)管理單元講解

    本課將為大家講解CKS32F4xx系列產(chǎn)品的中斷優(yōu)先級(jí)管理單元NVIC。CM4內(nèi)核共支持256個(gè)中斷,其中包含了16個(gè)內(nèi)核中斷和240個(gè)外部中斷,具有256級(jí)可編程中斷設(shè)置。但CKS32F4x
    的頭像 發(fā)表于 02-06 14:52 ?1643次閱讀

    CKS32F4xx系列產(chǎn)品串口DMA傳輸

    在上一講,我們講過(guò)CKS32F4xx系列的6個(gè)串口都支持DMA傳輸。因此本節(jié)我們對(duì)CKS32F4xx系列的DMA進(jìn)行
    的頭像 發(fā)表于 04-10 11:18 ?1457次閱讀

    CKS32F4xx系列產(chǎn)品的定時(shí)器使用-基本特征和定時(shí)操作

    這一課我們將介紹CKS32F4XX系列產(chǎn)品的定時(shí)器使用,CKS32F4XX的定時(shí)器功能十分強(qiáng)大,包含2個(gè)高級(jí)控制定時(shí)器,8個(gè)普通定時(shí)器,2個(gè)基礎(chǔ)定時(shí)器,以及兩個(gè)看門(mén)狗定時(shí)器和一個(gè)系統(tǒng)定
    的頭像 發(fā)表于 05-19 09:18 ?1349次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>的定時(shí)器使用-基本特征和定時(shí)操作

    CKS32F4xx系列RNG功能設(shè)置

    ? MCU 微課堂 CKS32F4xx 系 列RNG功能 隨機(jī)數(shù)發(fā)生器簡(jiǎn)介 ? ? CKS32F4xx系列自帶了硬件隨機(jī)數(shù)發(fā)生器(RNG),RNG處理器是一個(gè)以連續(xù)模擬噪聲為基礎(chǔ)的隨機(jī)數(shù)發(fā)生器,在
    的頭像 發(fā)表于 09-08 10:01 ?1027次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>RNG功能設(shè)置

    CKS32F4xx系列DAC功能

    CKS32F4xx系列DAC功能
    的頭像 發(fā)表于 11-06 16:56 ?1223次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>DAC功能

    CKS32F4xx系列ADC多通道DMA電壓采集

    CKS32F4xx系列ADC多通道DMA電壓采集
    的頭像 發(fā)表于 11-06 16:53 ?1454次閱讀

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)器脈沖計(jì)數(shù)

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)器脈沖計(jì)數(shù)
    的頭像 發(fā)表于 11-09 17:38 ?1495次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>Timer的基本使用<b class='flag-5'>方法</b>-定時(shí)器脈沖計(jì)數(shù)

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-比較輸出
    的頭像 發(fā)表于 11-09 17:39 ?1258次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>Timer的基本使用<b class='flag-5'>方法</b>-比較輸出

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作

    CKS32F4xx系列產(chǎn)品Timer的基本使用方法-定時(shí)操作
    的頭像 發(fā)表于 11-09 17:41 ?921次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>Timer的基本使用<b class='flag-5'>方法</b>-定時(shí)操作

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品SPI通信
    的頭像 發(fā)表于 10-24 17:12 ?1151次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>SPI通信

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置

    MCU微課堂 | CKS32F4xx系列產(chǎn)品GPIO口配置
    的頭像 發(fā)表于 10-24 15:14 ?1187次閱讀
    MCU微課堂 | <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列產(chǎn)品</b>GPIO口<b class='flag-5'>配置</b>

    CKS32F4xx系列FSMC功能簡(jiǎn)介

    本課講為大家講解CKS32F4xx系列產(chǎn)品的FSMC應(yīng)用實(shí)例,F(xiàn)SMC全稱是Flexible Static Memory Controller,讀作靈活的靜態(tài)存儲(chǔ)控制器,顧名思義,MCU可以通過(guò)FSMC擴(kuò)展靜態(tài)內(nèi)存
    的頭像 發(fā)表于 04-14 15:06 ?1599次閱讀
    <b class='flag-5'>CKS32F4xx</b><b class='flag-5'>系列</b>FSMC功能簡(jiǎn)介
    主站蜘蛛池模板: 欧美黑粗硬 | 国产精品久久久久久久久久久痴汉 | 国产女主播视频一区二区三区 | www.国产com| 色就是色欧美 | 国产激情综合五月久久 | 天天做天天爱天天综合色 | 欧美zoozzooz性欧美 | 中文字幕在线播放日韩 | 国产高清精品在线观看 | 操操操免费视频 | 国语对白乱子 | 东京干手机福利视频 | 亚洲第一色网站 | 国产精品野外av久久久 | 国产二区自拍 | 成人夜晚看片 | 久久精品久久久精品美女 | 99操| 丰满蕾丝乳罩少妇呻吟91 | 日本少妇xxx | 9久精品| 99热这里只有精品8 99热这里只有精品在线观看 | 久草最新网址 | 天天鲁一鲁摸一摸爽一爽 | 一本—道久久a久久精品蜜桃 | 亚洲aaaaa特级 | 色翁荡熄又大又硬又粗又动态图 | 大地资源影视在线播放观看高清视频 | 欧美成人免费视频 | 怡红院av亚洲一区二区三区h | 狠狠做深爱婷婷久久综合一区 | 久久公开视频 | ww成人| 天堂av男人在线播放 | 在线色网 | 亚洲成av人片在线观看天堂无码 | 1000部拍拍拍18勿入免费视频 | 久久精品国产久精国产 | abp绝顶系列最猛的一部 | 自拍偷拍专区 | 性欧美老人牲交xxxxx视频 | 婷婷久久综合九色综合 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 国产一级片免费视频 | 亚洲欧洲日产国码无码久久99 | 久久久久久国产精品无码下载 | 一区二区欧美精品 | 欧美嫩草影院 | 男男做性免费视频网 | 麻豆一区二区三区 | 精品国产一区二区三区四区阿崩 | 99久久精品免费看国产四区 | 欧美日韩国产亚洲沙发 | 亚洲日本一区二区三区在线 | 国产又粗又猛又爽又黄的视频小说 | av在线亚洲男人的天堂 | 亚洲精品图片一区15p | 国产亚洲日韩一区二区三区 | 欧美成人影音 | 亚洲爽妇网 | 五月婷婷爱爱 | 久久免费国产精品 | 青青草综合在线 | 成人av在线看 | 91亚洲精品丁香在线观看 | 川上奈美侵犯中文字幕在线 | 青娱乐最新地址 | 91popny丨九色丨国产 | 国产成人在线综合 | 免费视频精品 | 日本三级不卡 | 欧洲午夜精品久久久久久 | 国产精品无码电影在线观看 | 超碰在线观看99 | 成人一区二区免费视频 | 色婷亚洲| 久久久精品久久久 | 婷婷网色偷偷久久久99超碰 | 欧美日韩国产高清 | 成年午夜精品久久久精品 | 日本最新中文字幕 | 欧美精品亚洲精品 | 特级做a爰片毛片免费看108 | 久久久久久穴 | 我的邻居在线观看 | 九九热视频在线播放 | 久久特黄视频 | 日韩三级毛片 | 成年无码av片在线 | 99久久国语露脸精品国产 | 久久艹伊人 | 日本超碰在线 | 日操操 | av站| 国产日韩精品视频一区二区三区 | 99精品久久久久久久免费看蜜月 | 欧美 日韩 成人 | 久久久久久久久久久丰满 | 日韩一区二区三区射精 | 久久一区二区三区四区五区 | 欧美亚洲一区二区三区 | 国产老熟女伦老熟妇露脸 | 日本亲近相奷中文字幕 | hd国产人妖ts另类视频 | 上原亚衣av一区二区三区 | 三区在线| 欧美激情精品久久 | 亚洲高清视频一区二区三区 | 精品国产乱码久久久久久婷婷 | 在线aⅴ亚洲中文字幕 | 亚洲色欲色欲www在线观看 | 日本韩国欧美一区 | 在线免费观看日本 | 国产伦精品一区二区三区视频孕妇 | 超碰免费97| 中文字幕成人在线视频 | 国精品人妻无码一区二区三区蜜柚 | 性欧美18—19sex性高清 | 69xx欧美 | 亚洲午夜精品久久久久久 | 精品九九视频 | 国产成人三级一区二区在线观看一 | 亚洲色图网友自拍 | 无码人妻精品一区二区在线视频 | 奇米色欧美一区二区三区 | 爱爱视频免费看 | 国产啪视频 | 国产精品第十页 | 一区二区三区四区亚洲 | 91精品视频免费在线观看 | 在线播放中文字幕 | 青青导航 | 一级做a爱片久久毛片a高清 | 午夜三级网站 | 国产福利资源 | jizz日本在线 | 四虎国产精品一区二区 | 成年人性视频 | 国产精品无码久久久久久久久久 | 欧美精品乱码99久久蜜桃 | 欧美日韩在线亚洲综合国产人 | xxxxx亚洲| 久久久无码精品亚洲日韩按摩 | 四虎影视久久久免费观看 | 午夜不卡av免费 | 国产精品99久久久久久久vr | 少妇第一次交换又紧又爽 | 一区二区三区在线观看免费 | 国产精品国产三级国产潘金莲 | 性h欲短篇合集 | av免费网址| 国产成人精品一区二区三区无码 | 国产成a人片在线观看视频下载 | 欧美高清videosex极品 | 小嫩女直喷白浆 | 黄色av免费播放 | 亚洲日韩精品一区二区三区无码 | 在线观看中文字幕第一页 | 特级一级黄色片 | 西野翔中文久久精品国产 | 肉色丝袜小早川怜子av | 成人在线视频中文字幕 | 国产地址一 | 欧美激情a∨在线视频播放 少妇人妻无码专区视频 | 亚洲熟伦熟女新五十路熟妇 | 亚洲麻豆国产自偷在线 | 特级黄色视频毛片 | 五月天在线播放 | 韩漫动漫免费大全在线观看 | 欧美黑人孕妇孕交 | 成人h猎奇视频网站 | 日本成人在线网站 | 婷婷激情五月综合 | 香蕉视频入口 | 一色一性一乱一交一视频 | 久久草在线视频免费 | 色就色综合| 久久久一区二区三区四区 | www.久久爽| 成人免费毛片aaaaaa片 | 日韩欧美三级在线 | 欧美第一页 | 国产免费一区二区三区在线能观看 | 成人av资源网| 婷婷开心深爱五月天播播 | 中文在线好最新版在线 | www久久久久久久久 www久久久久久久久久 | 亚洲成网站 | 破处视频在线观看 | 黑人大战中国av女叫惨了 | 一区二区三区在线视频播放 | 国产精品综合色区在线观看 | 在线观看日韩欧美 | 色屁屁www影院免费观看入口 | 丝瓜色版 | 国产偷国产偷av亚洲清高 | 99精品国产99久久久久久97 | 久久免费激情视频 | 中文字字幕 | 国产成人无码一区二区在线播放 | 欧美日韩123区 | 国产精品久久久久久久久久软件 | 欧美肥妇多毛bbw | 精品国产福利一区二区 | 美女的尿囗网站免费 | 一区二区视频免费在线观看 | 日韩成人av在线播放 | 亚洲精品日韩在线 | 欧美一区二区三区性视频 | 秋霞成人午夜鲁丝一区二区三区 | 四虎在线免费视频 | 欧美精品成人久久 | 国产欧美精品区一区二区三区 | 国产精品久久久影视青草 | 2021亚洲天堂| 国产激情综合五月久久 | 在线观看免费www | 在线观看成人网 | 18禁黄污吃奶免费看网站 | 亚洲熟妇无码爱v在线观看 又色又爽又黄18禁美女裸身无遮挡 | 天天操天天操天天操天天操天天操 | 国产精品一区二区三区免费视频 | 久久久久久久久久久久久久久久久久 | 特级做a爰片毛片免费69 | 69堂国产成人免费视频 | 勾搭足浴女技师国产在线 | 久久精品国产精品国产一区 | 日本欧美久久久 | 国产a√精品区二区三区四区 | 国产床戏无遮挡免费观看网站 | 一级视频免费观看 | 久草精品国产 | 久久婷婷国产麻豆91天堂 | 91传媒网站 | 久久久www免费人成精品 | 欧美jizzhd精品欧美喷水 | 日本久久久影视 | 亚洲国产成人005 | 露脸啪啪清纯大学生美女 | 日韩深夜影院 | 日韩成人影视 | 91噜噜噜 | 欧美午夜性春猛交xxxx按摩师 | 成人av片在线观看 | 一本一道久久a久久精品综合蜜臀 | 精彩动漫 - 91爱爱 | 亚洲精品天堂久久久老牛 | √天堂资源8在线官网 | 亚洲免费一级 | 加勒比中文无码久久综合色 | 女女女女bbbb日韩毛片 | 中文字幕无码精品亚洲资源网久久 | 看毛片视频 | 国内丰满少妇猛烈精品播 | 欧美疯狂xxxxbbbb喷潮 | 狠狠色丁香婷婷久久综合 | 少妇人妻无码专区在线视频 | 人人草人人爱 | 色婷婷综合激情综在线播放 | 夫妻免费无码v看片 | 99精品国产一区二区三区 | 国产精品精品久久久久久 | 国产成人手机视频 | 丰满人妻一区二区三区无码av | 极品粉嫩鲍鱼视频在线观看 | 中文字幕被公侵犯的漂亮人妻 | 青青草自拍视频 | 亚洲奶水xxxx哺乳期tv | 国产成人免费视频精品含羞草妖精 | 国产午夜精品免费一区二区三区视频 | 欧美另类xxx| 欧美成人aaa片一区国产精品 | 美女av免费观看 | 精品久久8x国产免费观看 | 香蕉婷婷| 久久综合色之久久综合 | 无码av波多野结衣久久 | 成年人午夜视频在线观看 | 日韩中文字幕2019 | 91在线看黄 | 亚洲色大成网站www永久一区 | 手机在线观看日韩大片 | 欧美极品在线视频 | 三级网址在线 | 特级淫片aaaaaa级网站 | 性色影院| 久久夜色精品国产噜噜av小说 | 国产人妻大战黑人第1集 | 男女超爽视频免费播放 | 久久久精品2019免费观看 | 久久人人爽人人爽人人av东京热 | 成人黄色激情视频 | 男人扒开女人内裤强吻桶进去 | 欧美人妻日韩精品 | a级毛片古装在线播放 | 欧色图| 午夜啪啪福利视频 | av永久天堂一区二区三区 | 成人少妇高潮流白浆 | 日韩在线中文字幕视频 | 久久99精品九九九久久婷婷 | 羞羞视频网站免费 | 一道本在线 | 亚洲视频一区在线观看 | 国产999精品视频 | 色拍自拍亚洲综合图区 | 欧美成人三级在线视频 | 亚洲精品一区二区五月天 | 亚洲熟妇av日韩熟妇在线 | 国产成人精品午夜片在线观看 | 性色av香蕉一区二区 | 漂亮人妻被中出中文字幕 | 中国洗澡偷拍在线播放 | 不卡三区| 91天堂在线| 国产又大又粗又长 | 久色视频在线观看 | 毛片视频网站在线观看 | 亚洲欧美一区二区三区在线 | 中文字幕中文有码在线 | 999久久久 | 91夜夜澡人人爽人人喊欧美 | 久久久无码精品亚洲日韩按摩 | 夜夜嗨视频 | 一本一本久久a久久精品综合麻豆 | 小芸的放荡日记高h | 日韩草比 | 黄色一级毛片 | 欧美大片aaaaa免费观看 | 18成人片黄网站www | 爱操综合| 91精品91久久久中77777 | 久久久久麻豆 | 色妞www精品视频7777 | wwwyoujizzcom在线 wwwyoujizzcom中国版 | 开心久久婷婷综合中文字幕 | 好看的av网址| 成人性生交大片免费看中文 | av亚州| 黄色大片免费网站 | 一本久道中文无码字幕av | 国产香蕉9| 日本丶国产丶欧美色综合 | 日韩国产欧美精品 | 性生交大片免费全片 | 全黄久久久久a级全毛片 | 欧美精品久久久久久久久 | 国产又粗又猛又大爽老大爷 | 亚洲品牌自拍一品区9999 | 久久久久精 | 国产粉嫩尤物极品99综合精品 | 一色屋精品视频在线观看 | 大陆熟妇丰满多毛xxxⅹ | 国产欧美一区二区在线 | 久久久91精品国产一区二区精品 | 天天操天天干天天干 | 久久久久人妻精品一区二区三区 | 99热这里只有精品4 99热这里只有精品5 | 久久久亚洲国产精品麻豆综合天堂 | 黄一区二区三区 | 中文字幕在线观看一区二区 | 国产内射在线激情一区 | 国产亚洲欧美精品久久久久久 | 成年免费视频黄网站在线观看 | 亚欧在线播放 | 好男人蜜桃av久久久久久蜜桃 | 国产成人三级一区二区在线观看一 | 老汉色老汉首页a亚洲 | 日韩av大片在线观看 | 狠狠躁夜夜躁人人爽超碰女h | 日本熟妇浓毛 | 久久激情免费视频 | 国内国产精品天干天干 | 中文字幕在线观看第一页 | 吻胸摸腿揉屁股娇喘视频网站小说 | 久在线观看福利视频 | a级黄色片在线观看 | www伊人| 精品欧美一区二区三区精品久久 | 波多野结衣av在线观看 | 国产精品免费久久久久久久久久中文 | 性色蜜桃x88av | 黄色1级片 | 中文字幕乱码无码人妻系列蜜桃 | 99视频+国产日韩欧美 | 亚洲午夜伦理 | 麻豆精品国产入口 | 日韩人妻精品无码一区二区三区 | 国产精品丝袜在线观看 | 亚洲一区精品视频在线观看 | 男人和女人黄 色大片 | 午夜日韩福利 | 亚洲精品第二页 | 欧美激情一二三 | 成年人在线播放视频 | 欧美三根一起进三p | 精品国产欧美一区二区 | 国产一区网 | 欧洲女人牲交性开放视频 | 国产日韩大片 | 中文字幕第一区 | 纯爱无遮挡h肉动漫在线播放 | 亚洲熟悉妇女xxx妇女av | 国产精品视频一区二区三区 | 欧美黑人乱大交 | 精品国产av色一区二区深夜久久 | 久久视频在线播放 | 午夜嘿嘿| 福利一区二区三区视频在线观看 | 99精品免费久久久久久久久 | 国产草逼av| 日韩精品首页 | 亚洲一区综合 | 婷婷四房综合激情五月 | 天天综合网天天综合 | 亚洲天堂五月 | 亚洲网av | 免费无码又爽又刺激聊天app | 国产精品原创av | 午夜在线观看免费视频 | 黄色毛片一级片 | 日本三级香港三级人妇99 | 婷婷综合在线视频 | 亚洲精品亚洲人成人网 | 欧洲高清转码区一二区 | 毛片91| 亚洲精品无码一区二区 | 亚洲一级黄色毛片 | 国产老太婆免费交性大片 | 亚洲乱码国产乱码精品精的特点 | 精品久久成人 | 国产精品丝袜一区二区三区 | 国产精品99久久精品爆乳 | 国产精品免费久久久久软件 | 亚洲欧洲av在线 | 欧美午夜视频在线 | 18涩涩午夜精品www | 国语对白自产 | 国产一区视频网站 | 国产日韩欧美视频免费看 | 爱情岛成人www亚洲网站 | 国产小视频免费 | 污版视频在线观看 | 国产一区二区久久 | 99精品99| 久久精品国产99精品国产2021 | 四虎影视18库在线影院 | 中国少妇毛片 | 97夜夜澡人人爽人人喊中国片 | 超碰人人在线 | 日韩毛片免费看 | 超碰免费公开 | 寡妇av | 91看片淫黄大片一级在线观看 | 91素人约啪 | 色综合色狠狠天天综合色 | 无码午夜人妻一区二区三区不卡视频 | 成人午夜高潮a∨猛片 | 中文字幕乱码亚洲精品一区 | 婷婷丁香综合网 | 亚洲精品二区 | 国产福利资源在线 | 黄色的网站在线免费观看 | 日本大乳高潮视频在线观看 | 亚洲 欧美 综合 在线 精品 | 日本五月天婷久久网站 | 日韩中文字幕在线观看视频 | 蜜臀av性久久久久蜜臀aⅴ四虎 | 97涩国一产精品久久久久久久 | 无码人妻精品一区二区三 | 国产精品色呦呦 | 小辣椒福利视频导航 | 美女免费视频网站 | 91精品国自产在线观看 | 国模一区二区三区四区 | 色五月丁香五月综合五月4438 | 日本午夜三级视频 | 国产精品美女久久久久av超清 | 久久综合激的五月天 | 男人添女荫道口喷水 | 色噜噜狠狠狠综合曰曰曰88av | а√天堂资源中文最新版地址 | 91原创国产 | 在线| 久久国产精品久久久 | 国产精品视频在线观看免费 | 青娱乐精品视频 | www.成人网.com| 婷婷综合另类小说色区 | 国产精品国产三级国产aⅴ入口 | 久久夜色av | 强行处破女系列中文字幕 | 免费欧美一级视频 | 男人的天堂av网站 | 国产精品色综合一区二区三区 | 精品无码成人网站久久久久久 | 亚洲天堂五码 | 91福利张津瑜在线播放 | 日本a级无毛 | 免费日批视频 | porn国产| 日本视频在线播放 | 少妇高潮疯狂叫床在线91 | 久久久久久av无码免费看大片 | 国产乱人伦真实精品视频 | 亚洲a成人 | 正在播放木下凛凛xv99 | 欧美精品另类 | 国产资源在线看 | 热99re久久免费视精品频软件 | 么公的好大好硬好深好爽视频 | 性一级视频 | 亚洲a∨无码无在线观看 | 真实国产老熟女无套中出 | 真人做人试看60分钟免费 | 欧美高清精品一区二区 | 激情综合色五月丁香六月亚洲 | 人人澡人人妻人人爽人人蜜桃麻豆 | 欧美片网站免费 | 国产精品免费观看久久 | 欧美日韩视频在线播放 | 欧美大波乳人伦免费视频 | 亚洲视频自拍 | 国产高清不卡一区二区 | 色综合天天网 | 色播视频在线 | 亚洲人成77777在线播放网站 | 色呦呦国产精品 | 奇米久久久 | 精品女同一区二区三区在线 | 三级黄色网| 国产精品第二页 | 极品主播超大尺度福利视频在线 | 色乱码一区二区三区麻豆 | 91精品国产九九九久久久亚洲 | 黄瓜视频在线免费观看 | 国产视频在线一区 | 特级毛片在线大全免费播放 | 色淫av蜜桃臀少妇 | 国产高清不卡一区二区 | 美女露出给别人摸图片 | 天堂a在线 | 少妇影院7788 | 国产精品久久久久久吹潮 | 91麻豆产精品久久久久久 | 精品国产乱码久久久久久影片 | 美女网站免费福利视频 | 小黄鸭精品aⅴ导航网站入口 | 日韩精品理论 | 日本成a人片在线播放 | 日韩69av| 亚洲国产精品99久久久久久久久 | 亚洲国产欧美日韩在线观看第一页 | 免费精品视频一区二区三区 | 国产三级无码内射在线看 | 少妇下面好紧好多水真爽播放 | 精品视频一二区 | 色哟哟精品一区二区 | 日韩免费成人 | 人妻巨大乳hd免费看 | 凹凸成人精品亚洲精品密奴 | av在线播放一区 | 国产成人精选视频在线观看 | 日韩精品毛片 | 国产区欧美区日韩区 | 色视频免费观看 | 亚洲欧美午夜 | 国产一区二区丝袜 | 成人3d动漫一区二区三区91 | 久精品国产| 国产91精品一区二区三区四区 | 中国极品少妇xxxx | 99久久夜色精品国产亚洲 | 在线观看免费一区 | 扒开双腿被两个男人玩弄视频 | 98涩涩国产露脸精品国产网 | 欧美激情影院 | 邻居少妇张开腿让我爽了在线观看 | 天天射狠狠干 | 一级性生活大片 | www.亚洲欧美 | 丝袜国产视频 | 自拍第1页 | 久久久久久久久毛片精品 | 公妇乱淫免费观看 | 色香蕉av | 久久一级黄色片 | 熟女人妻aⅴ一区二区三区60路 | 国产精品久久久久影院嫩草 | 久草免费福利视频 | 懂色av一区二区三区久久久 | 香蕉久久久久久av成人 | 深夜福利视频在线观看 | 欧亚乱熟女一区二区在线 | 午夜性福利视频 | 国产男男无套激情11069 | 在线99视频| 日韩女优中文字幕 | 日本无码人妻精品一区二区蜜桃 | 荷兰女人裸体性做爰 | 四川少妇大战4黑人 | 777国产成人入口 | 欧美丝袜一区二区三区 | 九九九伊在人线综合2023 | 日本高清视频www在线观看 | 免费人成在线观看 | 欧美人与动人物牲交免费观看久久 | 一级网站在线观看 | 少妇高潮喷水久久久久久久久久 | 在线免费激情视频 | 日本猛少妇色xxxxx猛叫小说 | 精品国产一区二区三区久久久蜜月 | 婷婷开心色四房播播 | 不良网站在线免费观看 |

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品