📄 freescale
字号:
#ifndef __CS5460A_H
#define __CS5460A_H
#include "PE_Types.h"
//--------CS5460 CODE ----------------------------
/*CS5460内部寄存器的低六位*/
#define CONFIG 0x00 //配置寄存器
#define CYCLE_COUNT 0x0A //周期计数
#define LAST_CURRENT 0x0E //上一次电流值
#define LAST_VOLT 0x10 //上一次电压值
#define LAST_POWER 0x12 //上一次的功率值
#define LAST_ENERGY 0x14 //上一周期的总能量值
#define LAST_CURRENT_RMS 0x16 //上一周期电流有效值
#define LAST_VOLT_RMS 0x18 //上一周期电压有效值
#define STATUS 0x1E //状态寄存器
#define MASK 0x34 //中断屏蔽寄存器
#define VOLT_DC_OFFSET 0X06 //电压通道 直流 偏置寄存器
#define CURRENT_DC_OFFSET 0X02 //电流通道 直流 偏置寄存器
#define VOLT_AC_OFFSET 0X22 //电压通道 交流 偏置寄存器
#define CURRENT_AC_OFFSET 0X20 //电流通道 交流 偏置寄存器
/*直流偏置(已校准)*/
#define CURRENT_DC 0xCC4ADD //电压偏置
#define VOLT_DC 0X331396 //电流偏置
/*寄存器的读写*/
#define READ 0x00 //读
#define WRITE 0x40 //写
/*各寄存器复位后的初始值*/
#define CONFIG_INIT 0x000001 //配置寄存器
#define STATUS_INIT 0x000001 //状态寄存器
#define MASK_INIT 0x000000 //中断屏蔽寄存器
#define CYCLE_COUNT_INIT 0x000FA0 //周期计数寄存器
/*定义以上寄存器的初始化后的值*/
#define CONFIG_DATA 0x0010E1 //软件复位
#define CALCULATE_DOWN 0x800000 //数据已经就绪,转换结束
#define LOW_POWER 0x000004 //检测到低电源
#define WDT 0X000020 //能量超过5秒未被读取,该位置位
/*定义其他命令*/
#define POWER_OFF_CTRL 0X88 //掉电控制
#define STANDERED_CTRL 0XC0 //标准控制
#define TRANSFORM_START 0Xe8 //开始转换,执行连续计算周期
#define N 24
#define CS_VRMS 0
#define CS_IRMS 1
void Init5460(void);
word filter(byte CS);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -