USART_シリアル通信2
一、プログラミング内容
1、シリアルポートで2バイト送信
2、シリアルポート送信配列
3、シリアルポート送信文字列
二、新規ライブラリ関数
シリアルポート送信完了検出関数
USART_FLAG
値
USART_FLAG
説明
USART_FLAG_CTS
CTSフラグビット
USART_FLAG_LBD
LIN割り込み検出フラグビット
USART_FLAG_TXE
送信データレジスタ空フラグビット
USART_FLAG_TC
完了フラグビットの送信
USART_FLAG_RXNE
受信データレジスタ非空フラグビット
USART_FLAG_IDLE
アイドルバスフラグビット
USART_FLAG_ORE
オーバーフローエラーフラグビット
USART_FLAG_NE
ノイズエラーフラグビット
USART_FLAG_FE
フレームエラーフラグビット
USART_FLAG_PE
パリティエラーフラグビット
三、ソース分析
1、シリアルポートで2バイト送信
2、シリアルポート送信配列
3、シリアルポート送信文字列
二、新規ライブラリ関数
シリアルポート送信完了検出関数
FlagStatus USART_GetFlagStatus(USART_TypeDef* USARTx, u16 USART_FLAG)
USART_FLAG_TC
USART_FLAG
値
USART_FLAG
説明
USART_FLAG_CTS
CTSフラグビット
USART_FLAG_LBD
LIN割り込み検出フラグビット
USART_FLAG_TXE
送信データレジスタ空フラグビット
USART_FLAG_TC
完了フラグビットの送信
USART_FLAG_RXNE
受信データレジスタ非空フラグビット
USART_FLAG_IDLE
アイドルバスフラグビット
USART_FLAG_ORE
オーバーフローエラーフラグビット
USART_FLAG_NE
ノイズエラーフラグビット
USART_FLAG_FE
フレームエラーフラグビット
USART_FLAG_PE
パリティエラーフラグビット
三、ソース分析
//
void USARTSend_float(USART_TypeDef* USARTx, uint16_t Data)
{
uint8_t Temp_H,Temp_L;
Temp_H=(Data&0xff00)>>8;
Temp_L=Data&0xff; // 16
USART_SendData(USARTx,Temp_H); // USARTE
while(USART_GetFlagStatus(USARTx,USART_FLAG_TXE)==RESET);//
USART_SendData(USARTx,Temp_L); // USARTE
while(USART_GetFlagStatus(USARTx,USART_FLAG_TXE)==RESET);//
}
//
void USARTSend_array(USART_TypeDef* USARTx, uint8_t *array, uint8_t num)
{
uint8_t i;
for(i=0;i