OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3141|回复: 1

STM32F4+ATT7053CU电流芯片驱动异常

[复制链接]

7

主题

14

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-9-3
在线时间
18 小时
发表于 2019-9-3 11:55:20 | 显示全部楼层 |阅读模式
1金钱
本帖最后由 w371584831 于 2019-9-3 11:58 编辑

我将HT的例程改成ST的,但驱动异常,求大佬指点
  1. //宏定义
复制代码
  1. //相关引脚初始化
复制代码


SPI.zip

5.25 MB, 下载次数: 18

改后的代码

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

14

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-9-3
在线时间
18 小时
 楼主| 发表于 2019-9-3 12:02:35 | 显示全部楼层
一楼代码被吃了了,接口是直接移植的

  1. #define        HIGH_CS()                        GPIO_SetBits(GPIOB,GPIO_Pin_12)
  2. #define        LOW_CS()                        GPIO_ResetBits(GPIOB,GPIO_Pin_12)
  3. #define        HIGH_CLK()                GPIO_SetBits(GPIOB,GPIO_Pin_10)
  4. #define        LOW_CLK()                        GPIO_ResetBits(GPIOB,GPIO_Pin_12)

  5. #define        HIGH_DIN()                GPIO_SetBits(GPIOB,GPIO_Pin_14)
  6. #define        LOW_DIN()                        GPIO_ResetBits(GPIOB,GPIO_Pin_14)
  7. #define        PIN_DOUT                        GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_15)                //计量SPIDOUT        PB15
复制代码

  1. void Init_SPI0(void)
  2. {
  3.   GPIO_InitTypeDef  GPIO_InitStructure;
  4.   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);//使能GPIOB时钟
  5.   //GPIOF9,F10初始化设置
  6.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_12 | GPIO_Pin_14;
  7.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
  8.   GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  9.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  10.   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
  11.   GPIO_Init(GPIOB, &GPIO_InitStructure);//初始化GPIO
  12.   
  13.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
  14.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;//普通输入模式
  15.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100M
  16.   GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//悬空
  17.   GPIO_Init(GPIOB, &GPIO_InitStructure);
  18.         HIGH_CS();//以下3条语句可以省略
  19.         LOW_CLK();
  20.         HIGH_DIN();
  21. }
复制代码

  1. int main(void)
  2. {

  3.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
  4.         delay_init(168);     //初始化延时函数
  5.         uart_init(9600);        //初始化串口波特率为115200
  6.         att7053bu_Init();
  7.         delay_ms(500);
  8.         att7053bu_Set();
  9.         delay_ms(500);
  10.         att7053bu_Check();
  11.         delay_ms(500);
  12.   Init_SPI0();

  13.         while(1)
  14.         {
  15.                 ChipID=Read_Reg(r_ChipID);//读ChipID,默认值为 7053B0
  16.                 printf("ChipID %x\r\n",ChipID);
  17.                 delay_ms(10);
  18.                 DeviceID=Read_Reg(r_DeviceID);//读DeviceID,默认值为 705304
  19.                 printf("DeviceID %x\r\n",DeviceID);
  20.                 delay_ms(10);
  21.                 U_Freq=Read_Reg(r_FreqU);//读电压频率
  22.                 delay_ms(10);
  23.                 U_Rms=Read_Reg(r_RmsU);//读电压有效值
  24.                 delay_ms(10);
  25.                 I1_Rms=Read_Reg(r_RmsI1);//读电流通道1的有效值
  26.                 delay_ms(10);
  27.                 I2_Rms=Read_Reg(r_RmsI2);//读电流通道2的有效值
  28.                 delay_ms(10);
  29.                 delay_ms(1000);
  30.                 delay_ms(1000);
  31.                 delay_ms(1000);
  32.                 delay_ms(1000);
  33.                 delay_ms(1000);
  34.         }
  35. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-16 06:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表