标题:
基于STM32的RN8302B简单测试例程
[打印本页]
作者:
liangfen1994
时间:
2019-7-25 21:59
标题:
基于STM32的RN8302B简单测试例程
部分代码如/* 本测试例程(满量程40A)针对1000:1电流互感器进行简易校表,offset校正,并输出ABC三相电流有效值。*/
/* A5--->RN7302_SCK */
/* A6--->RN7302_SDO */
/* A7--->RN7302_SDI */
#define RN7302_CS PAout(4) //RN7302_CS 使能
u8 RN7302_Read(u16 wReg,u8 *pBuf) //00计量参数寄存器,01配置和状态寄存器
{
u8 temp;
RN7302_CS=0;
SPI1_ReadWriteByte(wReg); //发送读取寄存器地址
temp = (((u8)(wReg >> 4)) & 0xf0)^0xff + 0x10;
SPI1_ReadWriteByte(temp); //发送读取寄存器地址
delay_us(10);
pBuf[0]=SPI1_ReadWriteByte(0xff);
pBuf[1]=SPI1_ReadWriteByte(0xff);
pBuf[2]=SPI1_ReadWriteByte(0xff);
pBuf[3]=SPI1_ReadWriteByte(0xff);
RN7302_CS=1;
return(1);
}
void RN7302_Write(u16 wReg,u8 *pBuf,u8 DatLen) //00计量参数寄存器,01配置和状态寄存器
{
u8 num,temp;
u8 cs;
RN7302_CS=0;//开启片选
temp = (u8)(wReg & 0x00ff);
SPI1_ReadWriteByte(temp); //发送读取寄存器地址
temp = (((u8)(wReg >> 4)) & 0xf0) + 0x80;
SPI1_ReadWriteByte(temp); //发送读取寄存器地址
cs=wReg+temp;
delay_us(10);
for(num=0;num<DatLen;num++)
{
SPI1_ReadWriteByte(pBuf[num]);
cs+=pBuf[num];
}
cs=~cs;//0xFA
SPI1_ReadWriteByte(cs);//发送cs
RN7302_CS=1;//关闭片选
}
全部程序51hei下载地址:
RN7302测试例程-stm32.7z
(189.49 KB, 下载次数: 273)
2019-7-26 02:45 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
liwanxi
时间:
2019-9-12 16:33
好资料,51黑有你更精彩!!!
作者:
yumengsong
时间:
2019-11-9 17:20
为什么打不开工程呢?
作者:
hasia
时间:
2020-6-18 15:19
很好,急需要这个呢。谢谢
作者:
lrc000
时间:
2021-7-31 15:01
为什么是7302呢?
作者:
xylove51
时间:
2022-1-24 11:39
对于刚接RN系列IC的有很大帮助!谢谢楼主的分享!
作者:
sfd123
时间:
2022-1-26 16:11
做计量真不是了解一个芯片那么简单!
作者:
zhaoqianzhi
时间:
2024-1-11 17:41
感谢博主分享,很有参考意义
作者:
你树哥哥
时间:
2024-1-16 05:56
感谢楼主无私奉献,帮助很大!
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1