您好,
我有一个来自 Allergo 的位置传感器芯片。 我想从芯片读取两个参数。 参数1为绝对角度。 参数2是错误寄存器。 我们需要每66us (中断)获取一个值。
读取参数1:
"代码1.
#define SPIDATA1 (*(volatile UINT32 *) 0xFFF7F43CU)
#define SPIFLAG (*(volatile UINT32 *) 0xFFF7F410U)
#define SPIBUF (*(volatile UINT32 *) 0xFFF7F440U)
SPIDATA1=0x070E2000;
While (((SPIFLAG 和0x00000100U)!= 0x00000100U)
{
}
AbsoluteAnglVal= SPIBUF & 0xFFFU; 如果仅在66us (interrupt)执行此操作,则所有操作都正常。 执行时间为2.6 us。