Ejemplo n.º 1
0
int main(void) {
	
	// Set the internal high-speed oscillator to 1 to run at 16/1=16MHz.
    CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);
	
	// Reset ("de-initialise") GPIO port D.
	GPIO_DeInit(GPIOD);
	// Initialise pin 0 of port D by setting it as:
	// - an output pin,
	// - using a push-pull driver,
	// - at a low logic level (0V), and
	// - 10MHz.
	GPIO_Init(GPIOD, GPIO_PIN_0, GPIO_MODE_OUT_PP_LOW_FAST);
	
	UART2_DeInit();
	
	/* UART2 configuration ------------------------------------------------------*/
	/* UART2 configured as follow:
		- BaudRate = 9600 baud  
		- Word Length = 8 Bits
		- One Stop Bit
		- Even parity
		- Receive and transmit enabled
		- UART2 Clock disabled
	*/
	/* Configure the UART2 */
	UART2_Init((u32)9600, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO, 
		UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE);
		
	LCDInit();
	
	DrawScreen();
	UpdateLCD();
	
	UART2_ITConfig(UART2_IT_RXNE, ENABLE);
	
	enableInterrupts();
	// Infinite loop.
	for(;;) {
							
		DrawDemo();	
		Delay(80);
	}
}
Ejemplo n.º 2
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);
}
Ejemplo n.º 3
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);
}
Ejemplo n.º 4
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
}