主题中讨论的其他器件: TM4C123
工具/软件:TI C/C++编译器
我的对象正在将数据从 TM4C123GH6PM 传输到 MCP4921。 我的代码构建良好、但我无法从 MCP4921的引脚获取值。 有人知道我的数据传输是否正确?
非常感谢。
我的代码:
#include
#include
#include "inc/hw_memmap.h"
#include "inc/hw_ints.h"
#include "driverlib/gpio.h"
#include "driverlib/pin_map.h"
#include "driverlib/ssi.h"
#include "driverlib/sysctl.h"
#include "driverlib/interrupt.h"
#include "driverlib/uart.h"
#include "utils/uartstdio.h"
//#define NUM_SSI_DATA 1.
void SSI0_Interrupt (void);
uint32_t pui32DataTx;
uint32_t pui32DataRx;
uint32_t ui32Index;
volatile unsigned long g_ulSSI2RXTO = 0;
无效
InitConsole (空)
{
SysCtlPeripheralEnable (SYSCTL_Periph_GPIOB);
GPIOPinConfigure (GPIO_PB0_U1RX);
GPIOPinConfigure (GPIO_PB1_U1TX);
SysCtlPeripheralEnable (SYSCTL_Periph_UART1);
GPIOPinTypeUART (GPIO_PORTB_BASE、GPIO_PIN_0 | GPIO_PIN_1);
UARTConfigSetExpClk (UART1_base、SysCtlClockGet ()、115200、(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |UART_CONFIG_PAR_NONE));
UARTEnable (UART1_BASE);
}
内部
main (空)
{
SysCtlClockSet (SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_16MHz);
InitConsole();
UARTprintf ("SSI ->\n");
UARTprintf ("模式:SPI\n");
UARTprintf ("数据:8位\n");
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、2000000、8);
SSIEnable (SSI0_BASE);
SSIIntEnable (SSI0_BASE、SSI_RXFF|SSI_RXTO);
while (SSIDataGetNonBlocking (SSI0_BASE、&pui32DataRx))
{
}
SSIIntClear (SSI0_BASE、SSI_RXFF|SSI_RXTO);
pui32DataTx = 0x00003005;
UARTprintf ("sent:\n ");
{UARTprintf ("'%c'"、pui32DataTx);
SSIDataPut (SSI0_BASE、pui32DataTx);
}
while (SSIBusy (SSI0_BASE))
{
}
IntEnable (INT_SSI0);
while (g_ulSSI2RXTO = 0)
{
}
UARTprintf ("\n 接收:\n ");
while (1)
{}
}
