日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

歷史上的今天

今天是:2025年06月09日(星期一)

正在發(fā)生

2018年06月09日 | STM32 串口固件庫中定義的幾個中斷標志什么意思?

發(fā)布者:TranquilBreeze 來源: eefocus關(guān)鍵字:STM32  串口固件庫  中斷標志 手機看文章 掃描二維碼
隨時隨地手機看文章

#define USART_IT_PE                       ((uint16_t)0x0028)

#define USART_IT_TXE                      ((uint16_t)0x0727)

#define USART_IT_TC                       ((uint16_t)0x0626)

#define USART_IT_RXNE                     ((uint16_t)0x0525)

#define USART_IT_IDLE                     ((uint16_t)0x0424)

#define USART_IT_LBD                      ((uint16_t)0x0846)

#define USART_IT_CTS                      ((uint16_t)0x096A)

#define USART_IT_ERR                      ((uint16_t)0x0060)

#define USART_IT_ORE                      ((uint16_t)0x0360)

#define USART_IT_NE                       ((uint16_t)0x0260)

#define USART_IT_FE                       ((uint16_t)0x0160)


可見,在stm32f10x_usart.h中宏定義的以上幾個宏,很沒有規(guī)律,咋一看還真不知道為什么會這么定義,其實通過代碼就很容易明白:

D7~D5:代表中斷標志位對應(yīng)的中斷使能位在 CR1、CR2還是CR3寄存器

D4~D0:代表中斷標志位對應(yīng)的中斷使能位在CRx寄存器的哪一位

D15~D8:代表中斷標志位在SR寄存器中的哪一位

上面我們僅僅是給出了這個結(jié)論,其實僅僅是看上面的幾行宏定義是看不出來各位代表什么意思的,只有從代碼中推理出來,下面給出stm32f10x_usart.c中USART_GetITStatus函數(shù)的實現(xiàn)就可以推理出上面為什么將上面的那幾個宏定義成那種形式了!

/**

  * @brief Checks whether the specified USART interrupt has occurred or not.

  * @param USARTx: Select the USART or the UART peripheral.

  * This parameter can be one of the following values:

  * USART1, USART2, USART3, UART4 or UART5.

  * @param USART_IT: specifies the USART interrupt source to check.

  * This parameter can be one of the following values:

  * @arg USART_IT_CTS: CTS change interrupt (not available for UART4 and UART5)

  * @arg USART_IT_LBD: LIN Break detection interrupt

  * @arg USART_IT_TXE: Tansmit Data Register empty interrupt

  * @arg USART_IT_TC: Transmission complete interrupt

  * @arg USART_IT_RXNE: Receive Data register not empty interrupt

  * @arg USART_IT_IDLE: Idle line detection interrupt

  * @arg USART_IT_ORE: OverRun Error interrupt

  * @arg USART_IT_NE: Noise Error interrupt

  * @arg USART_IT_FE: Framing Error interrupt

  * @arg USART_IT_PE: Parity Error interrupt

  * @retval The new state of USART_IT (SET or RESET).

  */

ITStatus USART_GetITStatus(USART_TypeDef* USARTx, uint16_t USART_IT)

{

  uint32_t bitpos = 0x00, itmask = 0x00, usartreg = 0x00;

  ITStatus bitstatus = RESET;

  /* Check the parameters */

  assert_param(IS_USART_ALL_PERIPH(USARTx));

  assert_param(IS_USART_GET_IT(USART_IT));

  /* The CTS interrupt is not available for UART4 and UART5 */

  if (USART_IT == USART_IT_CTS)

  {

    assert_param(IS_USART_123_PERIPH(USARTx));

  }

 

  /* Get the USART register index */

  usartreg = (((uint8_t)USART_IT) >> 0x05);     //由此可見D7~D5:代表中斷標志位對應(yīng)的中斷使能位在 CR1、CR2還是CR3寄存器中

  /* Get the interrupt position */

  itmask = USART_IT & IT_Mask;

  itmask = (uint32_t)0x01 << itmask;    //由此可見D4~D0:代表中斷標志位對應(yīng)的中斷使能位在CRx寄存器的哪一位

 

  if (usartreg == 0x01) /* The IT is in CR1 register */

  {

    itmask &= USARTx->CR1;

  }

  else if (usartreg == 0x02) /* The IT is in CR2 register */

  {

    itmask &= USARTx->CR2;

  }

  else /* The IT is in CR3 register */

  {

    itmask &= USARTx->CR3;

  }

 

  bitpos = USART_IT >> 0x08;    //由此可見D15~D8:代表中斷標志位在SR寄存器中的哪一位

  bitpos = (uint32_t)0x01 << bitpos;

  bitpos &= USARTx->SR;

  if ((itmask != (uint16_t)RESET)&&(bitpos != (uint16_t)RESET))

  {

    bitstatus = SET;

  }

  else

  {

    bitstatus = RESET;

  }

 

  return bitstatus;

}


關(guān)鍵字:STM32  串口固件庫  中斷標志 引用地址:STM32 串口固件庫中定義的幾個中斷標志什么意思?

上一篇:STM32中發(fā)送中斷標志位
下一篇:stm32中關(guān)于讀取狀態(tài)標志位函數(shù)的自我理解

推薦閱讀

從2011年至今的7年時間內(nèi),聯(lián)想手機業(yè)務(wù)的重大調(diào)整多達5次。最近一次是2017年,聯(lián)想宣布取消了此前定位互聯(lián)網(wǎng)手機品牌的ZUK。?宣布AllinAI的聯(lián)想近兩年來更愿意強調(diào)人工智能的轉(zhuǎn)型。即使談到手機業(yè)務(wù),一般也是忙著展示MOTO品牌在海外市場的成功。?聯(lián)想移動業(yè)務(wù)更多集中在海外市場的情況已經(jīng)愈發(fā)明顯。聯(lián)想今年5月底發(fā)布的2017/2018財年財報顯示,相比上...
  近期,由任正非簽發(fā)組織變動文件,華為成立智能汽車解決方案BU,隸屬于ICT管理委員會管理。在5月上旬,華為發(fā)布了王軍擬任命為智能汽車解決方案BU總裁的行政干部任前公示,公示截止日為2019年5月17日,王軍此前在華為日本運營商業(yè)務(wù)部任職?! ∪A為是全球通信領(lǐng)域巨頭,但并不是汽車行業(yè)資深玩家,此次正式宣布進入智能汽車領(lǐng)域,距離任正非喊出“華...
據(jù)維信諾微信公眾號消息,維信諾發(fā)布了全球首個達到量產(chǎn)應(yīng)用級別的屏下攝像解決方案InV see?。據(jù)維信諾介紹,該方案通過開發(fā)應(yīng)用新透明OLED器件、新型驅(qū)動電路和像素結(jié)構(gòu)、導(dǎo)入高透明新材料,達到了顯示效果和屏幕透明度最佳平衡,呈現(xiàn)出更為優(yōu)質(zhì)的顯示和拍照效果,從而實現(xiàn)“真 · 全 面 屏”。此外,維信諾強調(diào)該方案采用全新的制程和封裝方式,突...
1 ARM中一些常見英文縮寫解釋 MSB:最高有效位; LSB:最低有效位; AHB:先進的高性能總線; VPB:連接片內(nèi)外設(shè)功能的VLSI外設(shè)總線; EMC:外部存儲器控制器; MAM:存儲器加速模塊; VIC:向量中斷控制器; SPI:全雙工串行接口; CAN:控制器局域網(wǎng),一種串行通訊協(xié)議; PWM:脈寬調(diào)制器; ETM:嵌入式跟蹤宏; CPSR:當前程序狀態(tài)寄存器...

史海拾趣

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved