98国产精品综合一区二区三区,国产福利视频,男人添女人囗交做爰视频,日本免费一区二区三区视频观看

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門 >> STM32 UART的使用過(guò)程

STM32 UART的使用過(guò)程

關(guān)鍵字:UART STM 過(guò)程 作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-19  瀏覽:32

1、使用UART前必須啟動(dòng)相應(yīng)的外設(shè)時(shí)鐘,其主要用到固件庫(kù)的RCC_APBnPeriphClockCmd函數(shù)。

使能UART1:使用RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE)

使能UART2:使用RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2 , ENABLE)

2、使用中斷進(jìn)行UART操作的需要配置NVIC,設(shè)置中斷優(yōu)先級(jí)。如:

/* Configure the NVIC Preemption Priority Bits */

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);

/* Enable the USART1 Interrupt */

NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel;

NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;

NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;

NVIC_Init(&NVIC_InitStructure);

3、配置相應(yīng)的GPIO口。

如果系統(tǒng)的UART需要進(jìn)行重映射,需要使用GPIO_PinRemapConfig函數(shù)進(jìn)行重映射,如:GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//注意:Rx為浮空,Tx為第二功能上拉。

將Rx配置為:浮空輸入模式,Tx配置為帶上拉的第二功模式。并用GPIO_Init() 函數(shù)初始化。如:

/* Configure USART2 Rx PA3 input floating */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;

GPIO_Init(GPIOA, &GPIO_InitStructure);

/* Configure USART1 Tx (PA.09) as alternate push-pull */

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, &GPIO_InitStructure);

4、配置UART

當(dāng)在conf文件種配置正確的外晶振后,在USART_InitTypeDef定義的結(jié)構(gòu)體種直接寫入U(xiǎn)ART的波特率、通訊長(zhǎng)頓、模式、硬件通訊控制,收發(fā)模式。再用USART_Init()進(jìn)行初始化。如:

USART_InitStructure.USART_BaudRate = 9600;

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;

/* Configure USART1 */

USART_Init(USART1, &USART_InitStructure);

而后使能收發(fā)中斷。如:

/* Enable USART1 Receive and Transmit interrupts */

USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

USART_ITConfig(USART1, USART_IT_TXE, ENABLE);

// USART_ITConfig(USART1, USART_IT_TXE, DISABLE);

注意:一般不將TXE中斷使能。因?yàn)橐坏⿲⒋酥袛嗍鼓埽绻鸘ART發(fā)送緩沖區(qū)空,則會(huì)立即進(jìn)入U(xiǎn)ART中斷中,因此可在程序中需要發(fā)送數(shù)據(jù)處,使能TXE中斷。在UART中斷種用USART_SendData()來(lái)發(fā)送數(shù)據(jù)。

完成中斷使能后,還需要使能UART口:

如:

/* Enable the USART1 */

USART_Cmd(USART1, ENABLE);

/* Enable the USART2 */

USART_Cmd(USART2, ENABLE);

中斷程序(stm32f10x_it.c)可以如下完成發(fā)送:注意所有的的串口中斷需要在中斷服務(wù)程序中判斷中斷源以分別處理。

void USART1_IRQHandler(void)

{

if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)

{

/* Read one byte from the receive data register */

RxBuffer1[RxCounter1++] = USART_ReceiveData(USART1);

if(RxCounter1 == NbrOfDataToRead1)

{

USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);//發(fā)送完成后,將RXNE禁止。

}

}

if(USART_GetITStatus(USART1, USART_IT_TXE) != RESET)

{

USART_SendData(USART1, TxBuffer1[TxCounter1++]);

if(TxCounter1 == NbrOfDataToTransfer1)

{

USART_ITConfig(USART1, USART_IT_TXE, DISABLE);

}

}

}

擴(kuò)展閱讀:STM32的IO口的8種配置

編輯:admin  最后修改時(shí)間:2018-05-19

聯(lián)系方式

0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A09

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

天干天干天夜夜爽啪啪免费网站| 免费av在线观看| 色欲久久99精品久久久久久av| 国产成人免费爽爽爽视频| 88久久精品无码一区二区毛片| 西西人体扒开大胆大尺度展露| 久久久久精品免费a片喷水| 久久天天躁狠狠躁夜夜av| 中文字幕亚洲一区二区三区| 国产精品毛片大码女人| 欧亚乱熟女一区二区在线| 日本真人边吃奶边做爽免费视频| 亚洲精品乱码久久久久久自慰| 双性美人被cao到崩溃h漫画| 国产欧美精品一区二区三区| 思思久久精品在热线热| jk女神自慰流白浆呻吟av| 暴虐营妓np宫交| 母亲とが话しています播放| av电影网站| 艳鉧动漫1~6全集在线观看| 少妇被躁爽到高潮无码人狍大战| 欧美性生交xxxxx久久久| 别揉我奶头~嗯~啊~动漫网站| 不用播放器的av| 人妻夜夜添夜夜无码av茄子视频| 国产绳艺sm调教室论坛| 99这里只有精品| 日韩精品一区二区亚洲av观看| 国产欧美日韩丝袜高跟鞋| 精品人妻一区二区三区浪潮在线| 英语老师解开裙子坐我腿中间| 西西gogo顶级艺术人像摄影| 久久av高潮av无码av喷吹| 你的奶好大让老子摸摸的说说| 国产麻豆一区二区三区精品视频| 学生无套内精做了一晚上| 精品人人妻人人澡人人爽牛牛| 一女被多男玩喷潮视频免费看| 久久久777天天躁狠狠躁av| 夜精品a片一区二区三区无码白浆|