电子元器件论坛
直播中

vinww特烦恼

8年用户 1133经验值
擅长:存储技术
私信 关注

请问如何验证ADE7953硬件连接是否正常?

1.由于手工焊接ADE7953不能保证完全可靠,如何验证该芯片通电后正常工作?
1)我已测量过晶振起振 --> ok
2)单片机端询问版本信息没有回应, 采用STM8S103 芯片,程序如下,请各位帮忙看看
void GPIO_Config(void)
{
/* Initialize I/Os in Output Mode */
GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GR_GPIO_PINS, GPIO_MODE_OUT_PP_LOW_FAST);//GPIO_MODE_OUT_PP_LOW_FAST
GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_RE_GPIO_PINS, GPIO_MODE_OUT_PP_LOW_FAST);//GPIO_MODE_OUT_PP_LOW_FAST
GPIO_Init(RS485_EN_PORT, (GPIO_Pin_TypeDef)RS485_EN_PINS, GPIO_MODE_OUT_PP_HIGH_FAST );

GPIO_Init(SPI_CS_PORT, (GPIO_Pin_TypeDef)SPI_CS_PIN, GPIO_MODE_OUT_PP_HIGH_FAST);//SPI多신튬朞똥왯多신놓迦뺏
GPIO_Init(SPI_GPIO_PORT, (GPIO_Pin_TypeDef)SPI_MISO_PIN, GPIO_MODE_IN_FL_NO_IT);
GPIO_Init(SPI_GPIO_PORT, (GPIO_Pin_TypeDef)SPI_MOSI_PIN, GPIO_MODE_OUT_PP_HIGH_FAST);
GPIO_Init(SPI_GPIO_PORT, (GPIO_Pin_TypeDef)SPI_CLK_PIN, GPIO_MODE_OUT_PP_HIGH_FAST);

}
static void CLK_Config(void)
{
CLK_DeInit();
/* Clock divider to HSI/1 */
//CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV8);

/* Configure the Fcpu to DIV1*/
//CLK_SYSCLKConfig(CLK_PRESCALER_CPUDIV16);

/* Configure the HSI prescaler to the optimal value */
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV8);
/* Output Fcpu on CLK_CCO pin */
// CLK_CCOConfig(CLK_OUTPUT_MASTER);
// CLK_ClockSwitchConfig(CLK_SWITCHMODE_AUTO, CLK_SOURCE_HSE, DISABLE, CLK_CURRENTCLOCKSTATE_DISABLE);
}
void SPI_Config(void)
{
/* SPI configuration */
SPI_DeInit();
/* Initialize SPI in Master mode */
SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_64, SPI_MODE_MASTER, SPI_CLOCKPOLARITY_HIGH,
SPI_CLOCKPHASE_2EDGE, SPI_DATADIRECTION_2LINES_FULLDUPLEX, SPI_NSS_SOFT,(uint8_t)0x07);

SPI_Cmd(ENABLE);
SET_CS();
}

char SPIRead1Byte(unsigned int address)
{
char readout;
unsigned char szTxData[7];
char i;
CLR_CS();

szTxData[0] = (char)(address>>8);
szTxData[1] = (char)(address);
szTxData[2] = 0x80;
for(i=0;i<3;i++)
{
while((SPI->SR   SPI_FLAG_TXE) == RESET);
SPI_SendData(szTxData[i]);
}

DummyRd = SPI_ReceiveData();
while((SPI->SR   SPI_FLAG_RXNE) == RESET);
readout = SPI_ReceiveData();
SET_CS() ;

return(readout);
}

                                                               

更多回帖

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