STM32/STM8技术论坛
直播中

jf_46341379

4年用户 5经验值
擅长:制造/封装
私信 关注
[问答]

stm32F103C8Tb驱动CS1238,如何测CS1238 Normal功耗以及powerdown功耗?

1、CS1238 Normal功耗代码怎么写?(下面是我对CS1238引脚的定义,之后就不知道怎么写了,看来指导书,没看懂)
CS1238.H文件:
#ifndef _CS1238_H
#define        _CS1238_H
#include "sys.h"


#define VREF                 5030.00f
#define AD_Gain         2


#define CS1238_DRDY_IN()                {GPIOB->CRH&=0XFFFFF0FF;GPIOB->CRH|=8<<8;}
#define CS1238_DRDY_OUT()                {GPIOB->CRH&=0XFFFFF0FF;GPIOB->CRH|=3<<8;}


#define CS1238_SCLK_H                        GPIO_SetBits(GPIOB, GPIO_Pin_11)
#define CS1238_SCLK_L                        GPIO_ResetBits(GPIOB, GPIO_Pin_11)
#define CS1238_DIN_H                        GPIO_SetBits(GPIOB, GPIO_Pin_10)
#define CS1238_DIN_L                        GPIO_ResetBits(GPIOB, GPIO_Pin_10)
#define CS1238_DOUT                                GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_10)  //数据端口       


#define USART_DIR                                PBout(2)       


/*配置寄存器*/
#define CFG_REG_REFO_ON                        0
#define CFG_REG_REFO_OFF                1


#define CFG_REG_SEPPD_10Hz                0
#define CFG_REG_SEPPD_40Hz                1
#define CFG_REG_SEPPD_640Hz                2
#define CFG_REG_SEPPD_1280Hz        3


#define CFG_REG_PGA_1                        0
#define CFG_REG_PGA_2                        1
#define CFG_REG_PGA_64                        2
#define CFG_REG_PGA_128                        3


#define CFG_REG_CH_A                        0
#define CFG_REG_CH_B                        1
#define CFG_REG_CH_TEMP                        2
#define CFG_REG_CH_BURNOUT                3


void Delay1us(void);
void Delay1ms(void);
void CS1238_GPIO_Configuration(void);
void CS1238_SPI_Write(uint8_t chn, uint8_t Data);
void Init_CS1238(uint8_t chn,uint8_t pga,uint8_t speed,uint8_t refo);
u8         CS1238_Read_RegConfig(void);
int32_t CS1238_SPI_Read(void);


#endif


CS1238.C文件
#include "cs1238.h"
#include "delay.h"


void Delay1us(void)
{
        volatile uint32_t t=5;
       
        while(t--);
}


void Delay1ms(void)
{
        volatile uint32_t t=8000;
       
        while(t--);
}


void CS1238_GPIO_Configuration(void)
{       
        GPIO_InitTypeDef  GPIO_InitStructure;                                       
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//SCLK PB3
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
               
        GPIO_SetBits(GPIOB,GPIO_Pin_11);                //SCLK
        GPIO_SetBits(GPIOB,GPIO_Pin_10);                //DATA
}

  • 这是CS1238的测试项
已退回5积分

更多回帖

发帖
×
20
完善资料,
赚取积分