日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]以stm32的USART1來(lái)舉例默認(rèn)使用的是PA9為TX,PA10為RX,當(dāng)需要開啟復(fù)用功能時(shí),需要注意修改以下幾個(gè)地方的代碼 1 時(shí)鐘的開啟 當(dāng)使用復(fù)用功能后,就需要開啟復(fù)用時(shí)鐘RCC_APB2Periph_AFIO2 初始化引腳的不同,原來(lái)的

以stm32的USART1來(lái)舉例


默認(rèn)使用的是PA9為TX,PA10為RX,當(dāng)需要開啟復(fù)用功能時(shí),需要注意修改以下幾個(gè)地方的代碼

1 時(shí)鐘的開啟


當(dāng)使用復(fù)用功能后,就需要開啟復(fù)用時(shí)鐘RCC_APB2Periph_AFIO


2 初始化引腳的不同,原來(lái)的是PA9,PA10,但是現(xiàn)在要初始化PB6,PB7,這一部分就不貼代碼了。

3 調(diào)用GPIO_PinRemapConfig()函數(shù)


GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

USART1的重映射開啟




注意:GPIO_PinRemapConfig()函數(shù)的參數(shù)是不能隨便寫的,在《stm32固件庫(kù)使用手冊(cè)》里面給出了可用參數(shù)的列表

GPIO_PinRemapConfig(GPIO_FullRemap_USART3, ENABLE); //USART3的復(fù)用功能完全重映射

GPIO_PinRemapConfig(GPIO_PartialRemap_USART3, ENABLE); //USART3的部分重映射

部分重映射和完全重映射有什么區(qū)別那?在網(wǎng)上我也沒找到確定的答案,但是建議開啟完全重映射,因?yàn)榫W(wǎng)上有資料說部分重映射在發(fā)送消息時(shí)候不正常(我自己沒有做實(shí)驗(yàn))

還需要注意,在開啟重映射功能之前一定要先查看一下自己的單片機(jī)是否支持重映射功能。


附:初始化串口的程序


voidUSART1_Config(void)

{

GPIO_InitTypeDefGPIO_InitStructure;

USART_InitTypeDefUSART_InitStructure;

/*configUSART1clock*/

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);

/*USART1GPIOconfig*/

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOB,&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;

GPIO_Init(GPIOB,&GPIO_InitStructure);

GPIO_PinRemapConfig(GPIO_Remap_USART1,ENABLE);

//GPIO_AFIODeInit();

/*USART1modeconfig*/

USART_InitStructure.USART_BaudRate=115200;

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(USART1,&USART_InitStructure);

USART_Cmd(USART1,ENABLE);

}



本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉