久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2903|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

RN7302測(cè)試?yán)?/span>

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:990848 發(fā)表于 2022-8-6 13:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
RN7302測(cè)試?yán)?全網(wǎng)不多的RN7032測(cè)試源碼,值得參考。

單片機(jī)源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"         
  5. #include "spi.h"



  6. /*        本測(cè)試?yán)蹋M量程40A)針對(duì)1000:1電流互感器進(jìn)行簡(jiǎn)易校表,offset校正,并輸出ABC三相電流有效值。*/

  7. /*        A5--->RN7302_SCK        */
  8. /*        A6--->RN7302_SDO        */
  9. /*        A7--->RN7302_SDI        */

  10. #define        RN7302_CS   PAout(4)   //RN7302_CS  使能




  11. u8 RN7302_Read(u16 wReg,u8 *pBuf)                                                //00計(jì)量參數(shù)寄存器,01配置和狀態(tài)寄存器
  12. {
  13.         u8 temp;
  14.         RN7302_CS=0;
  15.         SPI1_ReadWriteByte(wReg);    //發(fā)送讀取寄存器地址
  16.         temp = (((u8)(wReg >> 4)) & 0xf0)^0xff + 0x10;
  17.         SPI1_ReadWriteByte(temp);    //發(fā)送讀取寄存器地址
  18.         delay_us(10);
  19.         pBuf[0]=SPI1_ReadWriteByte(0xff);
  20.         pBuf[1]=SPI1_ReadWriteByte(0xff);
  21.         pBuf[2]=SPI1_ReadWriteByte(0xff);
  22.         pBuf[3]=SPI1_ReadWriteByte(0xff);
  23.         RN7302_CS=1;        
  24.     return(1);
  25. }


  26. void RN7302_Write(u16 wReg,u8 *pBuf,u8 DatLen)                        //00計(jì)量參數(shù)寄存器,01配置和狀態(tài)寄存器
  27. {
  28.         u8 num,temp;
  29.         u8 cs;
  30.         
  31.         RN7302_CS=0;
  32.         temp = (u8)(wReg & 0x00ff);
  33.         SPI1_ReadWriteByte(temp);    //發(fā)送讀取寄存器地址
  34.         temp = (((u8)(wReg >> 4)) & 0xf0) + 0x80;
  35.         SPI1_ReadWriteByte(temp);    //發(fā)送讀取寄存器地址
  36.         cs=wReg+temp;
  37.         delay_us(10);
  38.         for(num=0;num<DatLen;num++)
  39.         {
  40.         SPI1_ReadWriteByte(pBuf[num]);
  41.         cs+=pBuf[num];
  42.         }
  43.         cs=~cs;
  44.         SPI1_ReadWriteByte(cs);
  45.         RN7302_CS=1;        
  46. }
  47. int main(void)
  48. {        
  49.         u32 num0=0;
  50.         u8 k[5]={0},f=0;
  51.         delay_init();                     //延時(shí)函數(shù)初始化         
  52.         NVIC_Configuration();          //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
  53.         uart_init(115200);                 //串口初始化為9600
  54.         LED_Init();                             //LED端口初始化
  55.         SPI1_Init();
  56.         GPIOSet();
  57.          
  58.          
  59. k[0]=0xe5;
  60. RN7302_Write(0x0180,k,1);        // 寫使能位

  61. k[0]=0xa2;
  62. RN7302_Write(0x0181,k,1);        // 切換到EMM配置寄存器

  63. k[0]=0xfa;
  64. RN7302_Write(0x0182,k,1);        // 復(fù)位

  65. delay_ms(500);

  66. k[0]=0xe5;
  67. RN7302_Write(0x0180,k,1);

  68. k[0]=0xa2;
  69. RN7302_Write(0x0181,k,1);


  70. k[0]=0x77;
  71. k[1]=0x77;
  72. k[2]=0x77;
  73. RN7302_Write(0x0162,k,3);        //EMU 控制寄存器
  74.         
  75.         
  76. k[0]=0x25;
  77. k[1]=0x78;
  78. RN7302_Write(0x0100,k,2);        //HFConst1  ,高頻脈沖計(jì)數(shù)寄存器 1
  79. RN7302_Write(0x0101,k,2);        //HFConst2        ,高頻脈沖計(jì)數(shù)寄存器 1

  80. k[0]=0x01;
  81. k[1]=0xD5;
  82. RN7302_Write(0x0102,k,2);        //IStart_PS ,有功視在啟動(dòng)電流閾值寄存器
  83. RN7302_Write(0x0103,k,2);        //IStart_Q  ,無功啟動(dòng)電流閾值寄存器

  84. k[0]=0x14;
  85. k[1]=0xfb;
  86. RN7302_Write(0x0104,k,2);        //LostVoltT  ,失壓閾值寄存器

  87. k[0]=0x00;
  88. k[1]=0x49;
  89. RN7302_Write(0x0105,k,2);        //ZXOT  ,過零閾值寄存器

  90. k[0]=0x00;
  91. k[1]=0x04;
  92. k[2]=0x0b;
  93. RN7302_Write(0x0158,k,3);        //SAGCFG ,電壓暫降閾值配置

  94. k[0]=0x47;
  95. k[1]=0x33;
  96. RN7302_Write(0x0159,k,2);        //OVLVL  ,過壓閾值配置

  97. k[0]=0x65;
  98. k[1]=0x32;
  99. RN7302_Write(0x015a,k,2);        //OILVL  ,過流閾值配置


  100. k[0]=0x0F;
  101. k[1]=0x21;
  102. k[2]=0x00;
  103. RN7302_Write(0x0161,k,3);/*******************************************************************/

  104. //k[0]=0x00;
  105. //k[1]=0x00;
  106. //RN7302_Write(0x0118,k,2);

  107. k[0]=0x17;
  108. k[1]=0x01;
  109. RN7302_Write(0x0113,k,2);        //GSUA  ,采樣通道 UA 通道增益
  110. RN7302_Write(0x0114,k,2);        //GSUB  ,
  111. RN7302_Write(0x0115,k,2);        //GSUC  ,

  112. k[0]=0x86;
  113. k[1]=0x0d;
  114. RN7302_Write(0x0116,k,2);        //GSIA  ,采樣通道 IA 通道增益
  115. RN7302_Write(0x0117,k,2);        //GSIB  ,
  116. RN7302_Write(0x0118,k,2);        //GSIC  ,

  117. k[0]=0x8A;
  118. RN7302_Write(0x010C,k,1);        //PHSUA ,采樣通道 UA 相位校正寄存器
  119. RN7302_Write(0x010D,k,1);        //PHSUB ,
  120. RN7302_Write(0x010E,k,1);        //PHSUC ,

  121. k[0]=0x80;
  122. k[1]=0x80;
  123. k[2]=0x80;
  124. RN7302_Write(0x010f,k,3);
  125. RN7302_Write(0x0110,k,3);
  126. RN7302_Write(0x0111,k,3);


  127. //空載電壓有效值小數(shù)校準(zhǔn)(OFFSET)
  128. k[0]=0x00;
  129. k[1]=0x00;
  130. RN7302_Write(0x0121,k,2);
  131. RN7302_Write(0x0122,k,2);
  132. RN7302_Write(0x0123,k,2);

  133. //空載電流有效值小數(shù)校準(zhǔn)(OFFSET)
  134. k[0]=0xff;
  135. k[1]=0xf0;
  136. RN7302_Write(0x0124,k,2);
  137. RN7302_Write(0x0125,k,2);
  138. RN7302_Write(0x0126,k,2);

  139. //k[0]=0x00;
  140. //k[1]=0x00;
  141. //RN7302_Write(0x0131,k,2);
  142. //RN7302_Write(0x0132,k,2);
  143. //RN7302_Write(0x0133,k,2);

  144. //RN7302_Write(0x0128,k,2);
  145. //RN7302_Write(0x0129,k,2);
  146. //RN7302_Write(0x012a,k,2);

  147. //RN7302_Write(0x012b,k,2);
  148. //RN7302_Write(0x012c,k,2);
  149. //RN7302_Write(0x012d,k,2);

  150. //RN7302_Write(0x012e,k,2);
  151. //RN7302_Write(0x012f,k,2);
  152. //RN7302_Write(0x0130,k,2);

  153. //// 通道功率OFFSET校正
  154. //RN7302_Write(0x0137,k,2);
  155. //RN7302_Write(0x0138,k,2);
  156. //RN7302_Write(0x0139,k,2);

  157. k[0]=0x42;
  158. RN7302_Write(0x0184,k,1);

  159. k[0]=0x00;
  160. RN7302_Write(0x0185,k,1);

  161. k[0]=0x00;
  162. RN7302_Write(0x0184,k,1);

  163. k[0]=0x04;
  164. k[1]=0x32;
  165. k[2]=0x10;
  166. RN7302_Write(0x0160,k,3);


  167. // 清空采樣數(shù)據(jù)緩存區(qū)
  168. k[2]=0x10;
  169. RN7302_Write(0x0163,k,3);

  170. // 寫保護(hù)
  171. k[0]=0xdc;
  172. RN7302_Write(0x0180,k,1);
  173.         while(1)
  174.         {
  175.         delay_ms(500);
  176.         RN7302_Read(0x000B,k);
  177.         num0=((0x00000000|k[0]<<24|k[1]<<16|k[2]<<8|k[3])&0x0fffffff)/160;
  178.         printf("IA_Reg=%02x%02x%02x%02x IA =%.3f \r\n",k[0],k[1],k[2],k[3],num0/1000.000);

  179.         RN7302_Read(0x000C,k);
  180.         num0=((0x00000000|k[0]<<24|k[1]<<16|k[2]<<8|k[3])&0x0fffffff)/160;
  181.         printf("IB_Reg=%02x%02x%02x%02x IB =%.3f \r\n",k[0],k[1],k[2],k[3],num0/1000.000);
  182.                
  183.         RN7302_Read(0x000d,k);
  184.         num0=((0x00000000|k[0]<<24|k[1]<<16|k[2]<<8|k[3])&0x0fffffff)/160;               
  185.         printf("IC_Reg=%02x%02x%02x%02x IC =%.3f \r\n\r\n",k[0],k[1],k[2],k[3],num0/1000.000);        

  186.         }

  187. }
復(fù)制代碼
原理圖: 無
仿真: 無
Keil代碼下載(僅供參考,有錯(cuò)誤求指教): RN7302測(cè)試?yán)?7z (186.87 KB, 下載次數(shù): 55)
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:88719 發(fā)表于 2023-7-22 10:39 | 只看該作者
啥玩楞,不推薦下載,沒有用
回復(fù)

使用道具 舉報(bào)

板凳
ID:513700 發(fā)表于 2024-1-17 13:56 | 只看該作者
賺積分下載
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 免费一级欧美在线观看视频 | 久久国产精品一区二区 | 精品一区二区三区入口 | 色屁屁在线观看 | 精品一区二区不卡 | 欧美日韩精品区 | 亚洲视频二区 | 五月婷婷在线视频 | 亚洲精品乱码久久久久久9色 | 国产成人jvid在线播放 | 91pao对白在线播放 | 亚洲一区二区久久 | 手机看片在线播放 | 久久久亚洲一区 | 亚洲国产伊人 | 超碰在线人人 | 精品福利在线 | 精品一区二区三区在线观看国产 | 97免费在线观看视频 | 亚洲区一区二区 | av一区二区三区四区 | 日韩精品视频一区二区三区 | 日韩影音 | 国产欧美在线观看 | 大象一区| 作爱视频免费观看 | 北条麻妃视频在线观看 | 99久久免费精品国产免费高清 | 日本不卡一区二区三区在线观看 | 一区二区三区av | 永久免费在线观看 | 欧美在线观看网站 | 久久久妇女国产精品影视 | 韩日一区二区三区 | 高清视频一区二区三区 | 国产美女一区二区三区 | 欧美啊v在线观看 | 国产精品日本一区二区在线播放 | 精品www| 欧美视频在线免费 | 国产成人精品综合 |