At power-up, all peripherals are disabled; they must be enabled in order to operate or respond to register reads/writes.
很多例程都没有看到用这个函数。至少GPIO都没有用到。是不是系统初始化的时候都要设置一下?
At power-up, all peripherals are disabled; they must be enabled in order to operate or respond to register reads/writes.
很多例程都没有看到用这个函数。至少GPIO都没有用到。是不是系统初始化的时候都要设置一下?
所有的外设包括GPIO在使用之前必须使用SysCtlPeripheralEnable()使能它。
这个操作需要5个时钟周期,期间尝试对其操作对导致总线错误。
/*使能ADC外设*/
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC);
/*使能GPIOA*/
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);
/*使能UART0*/
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
比如初始化串口:
static ULONG BSP_UART_Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);
GPIOPinTypeUART(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1);
GPIODirModeSet(GPIO_PORTA_BASE, GPIO_PIN_0 | GPIO_PIN_1, GPIO_DIR_MODE_HW);
/*初始化串口通讯参数*/
UARTConfigSetExpClk(g_ulConPort, SysCtlClockGet(), BOARD_UART_BAUDRATE,
(UART_CONFIG_WLEN_8 | UART_CONFIG_STOP_ONE |
UART_CONFIG_PAR_NONE));
UARTEnable(g_ulConPort);
return SYS_NO_ERROR;
}