您好,
我使用的是与PIC32MZ微控制器连接的ADS131E04,但使用SPI接口初始化和控制器件时遇到一些问题。 我遵循应用程序信息部分(第 10.1 .2)使用作为设置:
-CLKSEL =1使用内部振荡器主时钟;
- PWNDN和RESETN不 受控制(固定为3.3V,因此始终为1)
- SCLK = 1 MHz
我初始化了停止转换的设备(驱动启动=0),并等待tPOR等待fCLK = 2.048 MHz用作主时钟,然后再初始化SPI接口。 之后,我发送了reset命令,但SPI接口阻止并仅在关闭ADC时继续发送命令(Micro和ADC位于两个不同的板上,因此有两个不同的电源)。
这是我用模拟发现设备获得的:
这是我的初始化代码
void app_Initialize ( void ){
/*将应用程序状态机置于初始状态。 */
AppData.state = APP_STATE初始化;
/*等待初始开机时间*/
/* F_clk = 2.048 MHz*/
/* t_clk = 0.488 us *
/* tPOR = 2^18 * t_clk = 12.7926万 us */
ADC_StaticDelay (13万);
ADC_START_LOW ();
/* TODO:初始化应用程序的状态机和其他
*参数。
*/
}
void app_Tasks ( void ){
/*检查应用程序的当前状态。 */
切换( AppData.state )
{
/*应用程序的初始状态。 */
案例APP_STATE初始化:
{
ADC_Init();
/*重置设备*/
ADC_SendCommand(reset);
/*等待重置的延迟正常*/
/* 18 t_CKL = 18* 0.488 = 8.784 US */
ADC_StaticDelay (10);
/*读取ID寄存器*/
ADC_ReadRegister (ID);
bool appInitialized = TRUE;
IF (已初始化)
{
AppData.state = app_state_service_tasks
;}
中断;
}
案例应用程序状态服务任务:
{
中断;
}
/* TODO:实施应用程序状态机。*/
/*绝不能执行默认状态。 */
默认:
{
/* TODO:处理应用程序状态机中的错误。 */
中断;
}
}
}
有人可以向我建议我在初始化此ADC时做了什么错误?
感谢您的支持。
Salvatore de Simone。
