12/19

stm32f407串口通信:

void UART1_config(void)

{

GPIO_InitTypeDef GPIO_InitStruct;

USART_InitTypeDef USART_InitStruct;

//1.配置GPIO管腳復用

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//開時鐘

GPIO_InitStruct.GPIO_Pin? = GPIO_Pin_9|GPIO_Pin_10;//同組管腳一次設置多個

GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF;//管腳復用

GPIO_Init(GPIOA, &GPIO_InitStruct);

//2.管腳復用綁定

GPIO_PinAFConfig(GPIOA, GPIO_PinSource9,GPIO_AF_USART1);

GPIO_PinAFConfig(GPIOA, GPIO_PinSource10,GPIO_AF_USART1);

//3.初始化串口

USART_InitStruct.USART_BaudRate? = 9600;//波特率

USART_InitStruct.USART_WordLength = USART_WordLength_8b;//字節(jié)長度

USART_InitStruct.USART_Parity? = USART_Parity_No;//校驗

USART_InitStruct.USART_StopBits = USART_StopBits_1;//停止位

USART_InitStruct.USART_Mode = USART_Mode_Rx|USART_Mode_Tx;//模式

USART_InitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//流控

USART_Init(USART1,&USART_InitStruct);//初始化

USART_Cmd(USART1, ENABLE);//串口使能 (不是所有寄存器都需要使能)

}

void uart_send_data(u8 data)

{

USART_SendData(USART1, data);//發(fā)送數(shù)據(jù)

while(USART_GetFlagStatus(USART1,USART_FLAG_TXE) == RESET);//等待標志位

}

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 一、python 如果要給文件加密:把.py文件變成.mpy文件 TTE分時操作系統(tǒng)相應速度很高 二、MDK SR...
    李響lx閱讀 421評論 1 0
  • 有一次做一個東西,為了盡量不占用CPU的處理數(shù)據(jù)時間,所以就使用DMA接收串口的數(shù)據(jù),但是呢問題來了.,,,,,怎...
    楊奉武閱讀 3,370評論 0 1
  • 姓名:周崇杰 學號:16140120059 專業(yè):機械設計制造及其自動化 轉載自:http://blog.csd...
    CJbaby閱讀 3,655評論 0 3
  • # STM32之串口DMA接收不定長數(shù)據(jù) ## 引言 在使用stm32或者其他單片機的時候,會經(jīng)常使用到串口通訊,...
    杰杰T_T閱讀 606評論 0 0
  • #2019.01.29.Day.12# 【日更】投稿一篇,發(fā)文兩篇 【閱讀】《生命中不能承受之輕》 1.歷史和個人...
    Mirror鏡子閱讀 891評論 0 0

友情鏈接更多精彩內容