标题: rn8302 [打印本页]
作者: 简简单单12 时间: 2018-5-14 10:13
标题: rn8302
#ifndef __RN8302_H_
#define __RN8302_H_
#include "config.h"
#define STDUn 220
#define STDIb 5
#define CalVoltate 44000000 //220V电压下校表
#define CalCurrent 50000000 //5A 电流下校表
#define STDP 262260437 //标准的有功功率
#define STDP_05L 131130218 //标准的有功功率
#define RN8302_fosc 8000000 //晶振频率 标准 8192000
#define RN8302_ENABLE GPIO_ResetBits(GPIOA,GPIO_Pin_15)
#define RN8302_DISABLE GPIO_SetBits(GPIOA,GPIO_Pin_15)
#define PinWrite_ADSCLK_1 GPIO_SetBits(GPIOB, GPIO_Pin_3)
#define PinWrite_ADSCLK_0 GPIO_ResetBits(GPIOB, GPIO_Pin_3)
#define PinWrite_ADSDI_1 GPIO_SetBits(GPIOB, GPIO_Pin_4)
#define PinWrite_ADSDI_0 GPIO_ResetBits(GPIOB, GPIO_Pin_4)
#define PinWrite_ADSDO_1 GPIO_SetBits(GPIOB, GPIO_Pin_5)
#define PinWrite_ADSDO_0 GPIO_ResetBits(GPIOB, GPIO_Pin_5)
#define PinRead_ADSDI GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_4)
#define RO 0x00
#define RW 0x01
#define bank0 0x00
#define bank1 0x01
#define bank2 0x02
#define bank3 0x03
#define bank4 0x04
#define WRENABLE 0xE5
#define WRDISABLE 0xDC
#define SAMPTEMPCLR 0x10 //50Hz采样,缓冲区清零
#define CLREMMIFH 0xFF //清采样缓冲中断标志
#define CLREMMIFL 0xFF
#define SAMPSTART 0x20
#define WRENABLE 0xE5
#define SOFTRST 0xFA
#define EMMOD 0xA2 //EMM模式
#define SLPMOD 0x18
#define NVM1MOD 0xE1
#define NVM2MOD 0x5C
#define CHANNELEN 0xFF
#define ADCGAINVAL 0x00 //ADC 通道增益设定。电压通道1倍增益。
//#define HF6400 0x031F //6400常数
#define EGYRDMODVAL 0x40 //视在电能读取后清零。
#define LNWIREMODE 0x00 //三相四线接线模式。
#define LLWIREMODE 0x33 //三相三线接线模式。
#define GAIN_1 0x00
#define GAIN_2 0x01
#define GAIN_4 0x10
#define GAIN_8 0x11
//#define HFCONST1 0x39
//#define HFCONST0 0x07 //测试常数
//#define HFCONST1 0xCE
typedef struct
{
unsigned char bank;
unsigned char addr;
unsigned char bytenum;
unsigned char rw;
unsigned int data;
}RegStructure;
作者: eisn 时间: 2018-9-26 12:50
非常感谢分享,,可惜我没看懂。。
作者: daneil.ren 时间: 2018-11-21 18:15
这个有完整的源码吗
作者: chen5jun110 时间: 2019-12-9 16:58
不错不错
作者: ddh2019 时间: 2020-3-30 20:41
可以给完整的代码吗
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |