Здравствуйте!
Не могу организовать прием-передачу по UART1. Код взял из примера, поставляемого из библиотеки:
Код:
#include <stdint.h>
#include "MDR32F9Qx/inc/MDR32Fx.h"
#include "MDR32F9Qx_uart.h"
#include "MDR32F9Qx_rst_clk.h"
#include <K4000/Common/UART.h>
void InitUART232(void) {
static PORT_InitTypeDef PORTInit;
static UART_InitTypeDef UARTInit;
//включаем такстирование порта
RST_CLK_PCLKcmd(RST_CLK_PCLK_PORTA, ENABLE);
//заполняем структуру инициализации порта
PORT_StructInit(&PORTInit);
PORTInit.PORT_PULL_UP = PORT_PULL_UP_OFF;
PORTInit.PORT_PULL_DOWN = PORT_PULL_DOWN_OFF;
PORTInit.PORT_PD_SHM = PORT_PD_SHM_OFF;
PORTInit.PORT_PD = PORT_PD_DRIVER;
PORTInit.PORT_GFEN = PORT_GFEN_OFF;
PORTInit.PORT_FUNC = PORT_FUNC_OVERRID;
PORTInit.PORT_SPEED = PORT_SPEED_MAXFAST;
PORTInit.PORT_MODE = PORT_MODE_DIGITAL;
//определяем 7-ю ножку для выхода (UART1_TX) и инициализируем порт
PORTInit.PORT_OE = PORT_OE_OUT;
PORTInit.PORT_Pin = PORT_Pin_7;
PORT_Init(MDR_PORTA, &PORTInit);
//определяем 6-ю ножку для входа (UART1_RX) и инициализируем порт
/*PORTInit.PORT_OE = PORT_OE_IN;
PORTInit.PORT_Pin = PORT_Pin_6;
PORT_Init(MDR_PORTA, &PORTInit);*/
/* Select HSI/2 as CPU_CLK source*/
RST_CLK_CPU_PLLconfig(RST_CLK_CPU_PLLsrcHSIdiv2, 0);
/* Enables the CPU_CLK clock on UART1,UART2 */
RST_CLK_PCLKcmd(RST_CLK_PCLK_UART1, ENABLE);
/* Set the HCLK division factor = 1 for UART1,UART2*/
UART_BRGInit(MDR_UART1, UART_HCLKdiv1);
//заполняем структуру инициализации
UART_StructInit(&UARTInit);
UARTInit.UART_BaudRate = 115200;
UARTInit.UART_FIFOMode = UART_FIFO_OFF;
UARTInit.UART_HardwareFlowControl = UART_HardwareFlowControl_RXE | UART_HardwareFlowControl_TXE;
UARTInit.UART_Parity = UART_Parity_No;
UARTInit.UART_StopBits = UART_StopBits1;
UARTInit.UART_WordLength = UART_WordLength8b;
//инициализируем порт
UART_Init(MDR_UART1, &UARTInit);
//включаем UART
UART_Cmd(MDR_UART1, ENABLE);
}
Самое интересное: если настраиваю прием-передачу - контроллер виснет. Если настраиваю только передачу - все работает, но данные не передаются. Помогите, пожалуйста, разобраться.