尊敬的:
实际上、我想将数据发送到 DAC 7731、我已经为此编写了代码、但无法获取 DAC 的输出。 我使用 TM4C129XNCZAD 的 SSI 端口 、我使用 PA2作为 SCLK PA3作为 片选、使用 PA4发送数据。 DAC 输出为最小值、但 SSI 输出似乎正确。我将封装代码请告诉我哪里出错、请帮助我
int main (空)
{
uint32_t pui32DataTx;
ui32Loop = SYSCTL_RCGCGPIO_R;
SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHz);
MT_SysTick 设置();
SysCtlPeripheralEnable (SYSCTL_Periph_SSI0);
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOA);
GPIOPinConfigure (GPIO_PA2_SSI0CLK);
GPIOPinConfigure (GPIO_PA3_SSI0FSS);
GPIOPinConfigure (GPIO_PA4_SSI0RX);
GPIOPinConfigure (GPIO_PA5_SSI0TX);
GPIOPinTypeSSI (GPIO_Porta_base、GPIO_PIN_5 | GPIO_PIN_4 | GPIO_PIN_3 | GPIO_PIN_2);
SSIConfigSetExpClk (SSI0_BASE、SysCtlClockGet ()、SSI_FRF_MOTO_MOTO_MODE_3、
SSI_MODE_MASTER、1000000、8);
SSIEnable (SSI0_BASE);
DAC_LDAC ();
while (1)
{
MAP_GPIOPinWrite (GPIO_PORTS_BASE、GPIO_PIN_7、GPIO_PIN_7);
pui32DataTx=0x5472;
SSIDataPut (SSI0_BASE、pui32DataTx);
while (SSIBusy (SSI0_BASE))
{
}
SSIIntClear (SSI0_BASE、SSI_RXFF);
SysCtlDelay (100);
MAP_GPIOPinWrite (GPIO_PORTS_BASE、GPIO_PIN_7、0);
SysCtlDelay (100);
MAP_GPIOPinWrite (GPIO_PORTS_BASE、GPIO_PIN_7、GPIO_PIN_7); //LDAC 上升沿
}
}
void DAC_LDAC ()
{
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPIO);
MAP_GPIOPinTypeGPIOOutput (GPIO_PORTS_BASE、GPIO_PIN_7);
MAP_GPIOPinWrite (GPIO_PORTS_BASE、GPIO_PIN_7、GPIO_PIN_7);
MAP_SysCtlPeripheralEnable (SYSCTL_Periph_GPIOE);
MAP_GPIOPinTypeGPIOOutput (GPIO_Porte _BASE、GPIO_PIN_1);
MAP_GPIOPinWrite (GPIO_Porte _BASE、GPIO_PIN_1、0);
}
