Example #1
0
void uartInit(void)
{
  UART2_DeInit();	/* 将寄存器的值复位 */
	
	/*
	 * 将UART2配置为:
	 * 波特率 = 115200
	 * 数据位 = 8
	 * 1位停止位
	 * 无校验位
	 * 使能接收和发送
	 */


  UART2_Init((u32)115200, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, \
  UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);

  UART2_ITConfig(UART2_IT_RXNE, ENABLE); //开启接收中断
  UART2_Cmd(ENABLE);
}
Example #2
0
void MOD_UART_Config(uint32_t baud)
{
	/* UART1 and UART3 configured as follow:
        - BaudRate = 230400 baud  
        - Word Length = 8 Bits
        - One Stop Bit
        - No parity
        - Receive and transmit enabled
	*/
	UART2_DeInit();
	UART2_Init(baud, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, 
				UART2_PARITY_NO,
				UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);

	UART2_ClearITPendingBit(UART2_IT_RXNE);
	//UART2_ITConfig(UART2_IT_RXNE_OR, ENABLE);
	//UART2_ITConfig(UART2_IT_TXE, ENABLE);
	UART2_Cmd(ENABLE);	
	//UART2_ClearITPendingBit(UART2_IT_IDLE);
	//UART2_ITConfig(UART2_IT_IDLE, ENABLE);
}
Example #3
0
//Modbus Initialization
void Modbus_Init(void)
{
//Clock divider equals 1.Clock 16MHz
	CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
//Clear bits 
	TIM2_DeInit();
	GPIO_DeInit(GPIOA);
	UART2_DeInit();
//Peripetial Initialization
	TIM2_TimeBaseInit(TIM2_PRESCALER_2048, 78);
	GPIO_Init(GPIOA, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
	UART2_Init(BAUDRATE, UART2_WORDLENGTH_8D, UART2_STOPBITS_2,UART2_PARITY_NO,UART2_SYNCMODE_CLOCK_DISABLE,UART2_MODE_TXRX_ENABLE );  
//Enable Periphs
	TIM2_Cmd(ENABLE);
	UART2_Cmd(ENABLE);
//Interrupt configuration
	TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);
	UART2_ITConfig(UART2_IT_RXNE_OR, ENABLE);
#ifndef __DELAY_EN
	#define __MODBUS_EN
	enableInterrupts();
#endif
}