<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > 一段關(guān)代碼的鑒賞

一段關(guān)代碼的鑒賞

作者: 時(shí)間:2016-07-21 來(lái)源:網(wǎng)絡(luò ) 收藏

  在其他單位見(jiàn)到一位工程師,從事了上位軟件開(kāi)發(fā)很多年。近幾年開(kāi)始做電子產(chǎn)品的軟件。剛剛開(kāi)發(fā)完一款通訊產(chǎn)品。平臺是。其作品完整的體現了其在方面的深厚功底。觀(guān)之使人汗顏!我們可以欣賞幾行。

本文引用地址:http://dyxdggzs.com/article/201607/294355.htm

  if (MC52I_SetUsart(USART1_Recv,USART1_Send)==MC52I_USART_ISNULL){

  return ;

  }

  我們可以來(lái)看看MC52I_SetUsart(USART1_Recv,USART1_Send)函數的實(shí)現方法。

  函數原型如下:

  uint32_t MC52I_SetUsart(Recv_CALLBACK pRecv,Send_CALLBACK pSend)

  {

  if (pSend==NULL || pRecv==NULL){

  return MC52I_USART_ISNULL;

  }

  pUsartSend = pSend;

  pUsartRecv = pRecv;

  return SYS_OK;

  }

  Recv_CALLBACK, Send_CALLBACK 是

  typedef uint32_t (*Recv_CALLBACK)(void *pBuf,uint32_t *pSize);

  typedef uint32_t (*Send_CALLBACK)(void *pBuf,uint32_t Size);

  這是兩個(gè)指針類(lèi)型,指向兩個(gè)函數。這兩個(gè)函數分別有兩個(gè)參數。

  在調用過(guò)程MC52I_SetUsart(USART1_Recv,USART1_Send);兩個(gè)參數USART1_Recv,USART1_Send 指向兩個(gè)函數

  uint32_t USART1_Recv(void *pBuf,uint32_t *pSize)

  {

  USART_Recv(&gSYS_USART1,pBuf,pSize);

  return SYS_OK;

  }

  uint32_t USART1_Send(void *pBuf,uint32_t Size)

  {

  return USART_Send(&gSYS_USART1,pBuf,Size);

  }

  我們再來(lái)分析一下函數的原型:

  uint32_t MC52I_SetUsart(Recv_CALLBACK pRecv,Send_CALLBACK pSend)

  {

  if (pSend==NULL || pRecv==NULL){

  return MC52I_USART_ISNULL;

  }

  pUsartSend = pSend;

  pUsartRecv = pRecv;

  return SYS_OK;

  }

  如果傳入參數 pRecv或pSend指向空,那么返回MC52I_USART_ISNULL,大概可能是該模塊沒(méi)有安裝,否則將兩個(gè)全區指針指向這兩個(gè)參數。完成了對uint32_t USART1_Recv(void *pBuf,uint32_t *pSize)和uint32_t USART1_Send(void *pBuf,uint32_t Size)的調用??雌饋?lái)非常繞。細細理解確實(shí)非常精妙

 



關(guān)鍵詞: stm32 編程

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>