|
①是不是每次接到一個(gè)字節(jié)的數(shù)據(jù)后都要清零標(biāo)志位?答:是的,在STM32單片機(jī)的串口通訊中,每當(dāng)SBUF接收到一個(gè)字節(jié)數(shù)據(jù)后,相應(yīng)的接收標(biāo)志位會(huì)被置1,該位需要軟件清零;如果要想繼續(xù)接收數(shù)據(jù),必須先將該位軟件清零。
②USART_GetFlagStatus與USART_GetITStatus的區(qū)別:IT主要就是與中斷相關(guān)的,檢查USART中斷產(chǎn)生與否,當(dāng)USART發(fā)送完成后會(huì)有USART_IT_TC中斷,因此可以用來(lái)判斷,而USART_GetFlagStatus是USART標(biāo)志位設(shè)置與否,其中就有發(fā)送完成標(biāo)志位USART_Flag_TC所以也可用來(lái)判斷。而最終都是操作SR寄存器。另外,USART_GetFlagStatus僅僅是把SR相應(yīng)的標(biāo)志位置位,但是USART_GetITStatus還會(huì)去操作相應(yīng)的CR1,CR2,CR3,完了再去進(jìn)行SR的置位。![](static/image/smiley/default/smile.gif) ![](static/image/smiley/default/smile.gif) |
|