[[ファームウェア関数一覧>ファームウェア関数一覧#q5c66355]] *USART_Init [#s5179416] #contents **ヘッダ宣言 [#j88ed038] **関数プロトタイプ [#hbd16b77] void USART_Init(USART_TypeDef* USARTx, USART_InitTypeDef* USART_InitStruct) **動作 [#k243ec2f] -USARTx周辺回路レジスタを設定し初期化します。 **引数 [#r8be7d93] -USARTx&br; リセットする対象のUSARTを''USART1'',''USART2'',''USART3'',''UART4''又は''UART5''から選択します。&br; -USART_InitStruct&br; '''stm32f10x_usart.h'''で定義されているUSART_InitTypeDef構造体です。&br; &br; typedef struct { uint32_t USART_BaudRate; uint16_t USART_WordLength; uint16_t USART_StopBits; uint16_t USART_Parity; uint16_t USART_HardwareFlowControl; uint16_t USART_Mode; } USART_InitTypeDef &br; --USART_BaudRate&br; USARTの通信速度を設定します。計算式は以下の通りです。&br; IntegerDivider = ((APBClock) / (16 * (USART_InitStruct->USART_BaudRate))) FractionalDivider = ((IntegerDivider - ((uint32_t) IntegerDivider)) * 16) + 0.5 &br; --USART_WordLength&br; USARTの通信語長の設定を以下のマクロから選択します。&br; #include(Macro/USART_WordLength,notitle) &br; |CENTER:USART_WordLength|CENTER:説明|h |USART_WordLength_8b|8 bits Data| |USART_WordLength_9b|9 bits Data| &br; --USART_StopBits&br; USARTのストップ・ビットの設定を以下のマクロから選択します。&br; #include(Macro/USART_StopBits,notitle) &br; |CENTER:USART_StopBits|CENTER:説明|h |USART_StopBits_1|1 stop bit is transmitted at the end of frame| |USART_StopBits_0_5|0.5 stop bit is transmitted at the end of frame| |USART_StopBits_2 2|stop bits are transmitted at the end of frame| |USART_StopBits_1_5|1.5 stop bit is transmitted at the end of frame| &br; --USART_Parity&br; USARTのパリティ・ビットの設定を以下のマクロから選択します。&br; #include(Macro/USART_Parity,notitle) &br; |CENTER:USART_Parity|CENTER:説明|h |USART_Parity_No|Parity Disable| |USART_Parity_Even|Even Parity| |USART_Parity_Odd|Odd Parity| &br; --USART_HardwareFlowControl&br; USARTのハードウェア・フロー・コントロールの設定を以下のマクロから選択します。&br; #include(Macro/USART_HardwareFlowControl,notitle) &br; |CENTER:USART_HardwareFlowControl|CENTER:説明|h |USART_HardwareFlowControl_None HFC|Disabled| |USART_HardwareFlowControl_RTS RTS|enabled| |USART_HardwareFlowControl_CTS CTS|enabled| |USART_HardwareFlowControl_RTS_CTS|RTS and CTS enabled| &br; --USART_Mode&br; USARTで有効にする機能を以下のマクロの組み合わせで選択します。&br; #include(Macro/USART_Mode,notitle) &br; |CENTER:USART_Mode|CENTER:説明|h |USART_Mode_Tx|Transmit enabled| |USART_Mode_Rx|Receive enabled| &br; **戻り値 [#gf45e0f4] -無し **出力値 [#geff0913] -無し **呼び出し関数 [#sa0e38ef] -無し **サンプル [#h0c54017] /* The following example illustrates how to configure the USART1 */ USART_InitTypeDef USART_InitStructure; 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_Odd; USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_RTS_CTS; USART_InitStructure.USART_Mode = USART_Mode_Tx I USART_Mode_Rx; USART_Init(USART1, &USART_InitStructure); **参照 [#iadcc2b0] - -STM32マイコン徹底入門 P.248