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

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]MCU:STM32F334C8T6Frameware:STM32F3348-Discovery_FW_V1.0.0實現(xiàn)功能:在PC使用串口調(diào)試助手向MCU發(fā)送字符(數(shù)據(jù)),MCU將接收到的字符發(fā)回PC代碼:#include"main.h"intmain(){GPIO_Config();USART_Config();NVIC_C

MCU:STM32F334C8T6

Frameware:STM32F3348-Discovery_FW_V1.0.0

實現(xiàn)功能:

在PC使用串口調(diào)試助手向MCU發(fā)送字符(數(shù)據(jù)),MCU將接收到的字符發(fā)回PC

代碼:


#include"main.h"

intmain()

{

GPIO_Config();

USART_Config();

NVIC_Config();

while(1);

}

voidGPIO_Config()

{

GPIO_InitTypeDefGPIO_InitStructure;

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOB,ENABLE);

GPIO_InitStructure.GPIO_Pin=(GPIO_Pin_3|GPIO_Pin_4);//USART2對應(yīng)的RX,TX引腳

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//復(fù)用模式

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);

//配置復(fù)用功能

GPIO_PinAFConfig(GPIOB,GPIO_PinSource3,GPIO_AF_7);

GPIO_PinAFConfig(GPIOB,GPIO_PinSource4,GPIO_AF_7);

}

voidUSART_Config()

{

USART_InitTypeDefUSART_InitStructure;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);

USART_DeInit(USART2);

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

USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);//使能中斷

USART_ClearFlag(USART2,USART_FLAG_TC);

USART_Cmd(USART2,ENABLE);//打開串口

}

voidNVIC_Config()

{

NVIC_InitTypeDefNVIC_InitStruct;

#ifdefVECT_TAB_SRAM

NVIC_SetVectorTable(NVIC_VectTab_RAM,0x0);//一定要設(shè)置中斷向量表,否則可能出錯

#else

NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x0);

#endif

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

NVIC_InitStruct.NVIC_IRQChannel=USART2_IRQn;

NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=0;

NVIC_InitStruct.NVIC_IRQChannelSubPriority=0;

NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;

NVIC_Init(&NVIC_InitStruct);

}

//中斷處理函數(shù)

voidUSART2_IRQHandler(void)

{

if(USART_GetFlagStatus(USART2,USART_FLAG_RXNE)==SET)

{

USART_SendData(USART2,USART_ReceiveData(USART2));//發(fā)送接收到的數(shù)據(jù)

while(!USART_GetFlagStatus(USART2,USART_FLAG_TC));

}

USART_ClearITPendingBit(USART2,USART_IT_RXNE);//清中斷標(biāo)志位

}


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