91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 42KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-18
  • 語言: 其他
  • 標簽: 電表??能耗??三相??

資源簡介

銳能微電能計量芯片,damo例程。三相計量芯片RN7302。

資源截圖

代碼片段和文件信息

#include?“RN7302_Demo.h“


__no_init???sDl645StruDataComm_TypeDef??????????Dl645RN7302DataComm;
__no_init???sDl645FrontTmp_TypeDef??????????????Dl645FrontTmp;
__no_init???sDl645Front_TypeDef?????????????????Dl645Front;
__no_init???sDl645Eg_TypeDef????????????????????Dl645Eg;
__no_init???sDl645FirmParaFile_TypeDef??????????Dl645FirmPara;
????????????
//底層函數
u8?fnSpi2_ReadByte(void)
{
????u8?itemp=0;
????for(i=0;i<8;i++)
????{
???? temp<<=1;
???? PinWrite_ADSCLK(1);
???? PinWrite_ADSCLK(1);
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
???? PinWrite_ADSCLK(0);
???? PinWrite_ADSCLK(0);
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
???? if?(PinRead_ADSDI()){temp=temp+0x1;}
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
????}
????return temp;
}
//////////////////////////////////////////////////////////////////////////


void?fnSpi2_WriteByte(u8?Dat)
{
????u8?i;

????for(i=0;i<8;i++)
????{
???? PinWrite_ADSCLK(1);
???? PinWrite_ADSCLK(1);
???? fnDelay2us();
???? fnDelay2us();
???? if(Dat?&?0x80)
???? {
???? PinWrite_ADSDO(1);
???? PinWrite_ADSDO(1);
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
???? }
???? else
???? {
???? PinWrite_ADSDO(0);
???? PinWrite_ADSDO(0);
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
???? }
???? PinWrite_ADSCLK(0);
???? PinWrite_ADSCLK(0);
???? fnDelay2us();
???? fnDelay2us();
???? fnDelay2us();
???? Dat?<<=?1;
????}
????PinWrite_ADSDO(1);
????PinWrite_ADSDO(1);
????fnDelay2us();
????fnDelay2us();
????fnDelay2us();
}

//存儲器寫入函數
ErrorStatus?fnMemory_Write(u32?Dst??u8?*Src??u32?DatLen)
{
????ErrorStatus?err;

????if(?(FM24C_START_ADDR?<=?Dst)?&&?
???? (?(Dst?+?DatLen)?????{
???? #if??!DL645SOFT_DEBUG
???? err?=?fnFM24CXX_Write(Dst-?FM24C_START_ADDR??Src???DatLen??3);
???? if(err==ERROR)?Dl645Bkgrd.PubData.EventErr[5]=BKGRD_EVENTERR_INTERMEMORY;
???? else?Dl645Bkgrd.PubData.EventErr[5]=BKGRD_EVENTERR_OK;
???? #endif
????}

????else?if(?(AT45DB_START_ADDR?<=?Dst)?&&?
???? (?(Dst?+?DatLen)?????{
???? #if??!DL645SOFT_DEBUG
???? err?=?fnAT45DBXX_Write(?Dst?-?AT45DB_START_ADDR??Src??DatLen??3);
???? if(err==ERROR)?Dl645Bkgrd.PubData.EventErr[5]=BKGRD_EVENTERR_INTERMEMORY;
???? else?Dl645Bkgrd.PubData.EventErr[5]=BKGRD_EVENTERR_OK;
???? #endif
????}

????else
????{
???? err?=?ERROR;
???? Dl645Bkgrd.PubData.EventErr[5]=BKGRD_EVENTERR_INTERMEMORY;
????}

????return(err);
}
//存儲器讀取函數
ErrorStatus?fnMemory_Read(u8?*Dst??u32?Src??u32?DatLen)
{
????ErrorStatus?err;
????if(?(FM24C_START_ADDR?<=?Src)?&&?
???? (?(Src?+?DatLen)?????{
???? #if??!DL645SOFT_DEBUG
???? err?=?fnFM24CXX_Read(Dst??Src?-?FM24C_START_ADDR??DatLen??3);
???? if(err==ERROR)?Dl645Bkgrd.PubData.EventErr[5]=BKGRD_EVENTERR

評論

共有 條評論