⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 uart_hw.c

📁 ARM_CORTEX-M3应用实例开发详解光盘
💻 C
字号:
/******************************* (C) Embest ***********************************
* File Name          : uart_hw.c
* Author             : tary
* Date               : 2009-06-30
* Version            : 0.1
* Description        : 串口硬件定义
******************************************************************************/

/* Includes -----------------------------------------------------------------*/
#include <stdio.h>
#include "gpio.h"
#include "aux_lib.h"
#include "uart_std.h"
#include "uart_hw.h"

/* Variables ----------------------------------------------------------------*/

const uart_hw_t uart_flds[] = {
	{
	NULL,
	0,
	0,
	0,
	0
	},

#ifdef USART1
	{
	USART1,
	RCC_APB2Periph_USART1,
	0,
	USART1_IRQChannel,
	0
	},
#endif

#ifdef USART2
	{
	USART2,
	RCC_APB1Periph_USART2,
	0,
	USART2_IRQChannel,
	0
	},
#endif

#ifdef USART3
	{
	USART3,
	RCC_APB1Periph_USART3,
	0,
	USART3_IRQChannel,
	0
	},
#endif

#ifdef UART4
	{
	UART4,
	RCC_APB1Periph_UART4,
	0,
	UART4_IRQChannel,
	0
	},
#endif

#ifdef UART5
	{
	UART5,
	RCC_APB1Periph_UART5,
	0,
	UART5_IRQChannel,
	0
	},
#endif

};


const int UART_FLDS_CNT = countof(uart_flds);

/*=============================================================================
* Function	: 
* Description	: 
* Input Para	: 
* Output Para	: 
* Return Value  : 
=============================================================================*/
int uart1_gpio_init(void) {

	/* Enable GPIOx clock */
	/* Configure STD_UART_TXPIN as alternate function push-pull */
	gpio_init(STD_UART_PORT,
	  STD_UART_TXPIN, GPIO_Speed_50MHz, GPIO_Mode_AF_PP,
	  STD_UART_RCC_GPX
	);

	/* Configure STD_UART_RXPIN as input floating */
	gpio_init(STD_UART_PORT,
	  STD_UART_RXPIN, GPIO_Speed_50MHz, GPIO_Mode_IN_FLOATING,
	  0
	);
	return 0;
}

/*=============================================================================
* Function	: 
* Description	: 
* Input Para	: 
* Output Para	: 
* Return Value  : 
=============================================================================*/
int uart2_gpio_init(void) {

	/* Enable GPIOx clock */
	/* Configure STD_UART_TXPIN as alternate function push-pull */
	gpio_init(GPIOA,
	  GPIO_Pin_2, GPIO_Speed_50MHz, GPIO_Mode_AF_PP,
	  RCC_APB2Periph_GPIOA
	);

	/* Configure STD_UART_RXPIN as input floating */
	gpio_init(GPIOA,
	  GPIO_Pin_3, GPIO_Speed_50MHz, GPIO_Mode_IN_FLOATING,
	  0
	);
	return 0;

}

/*=============================================================================
* Function	: 
* Description	: 
* Input Para	: 
* Output Para	: 
* Return Value  : 
=============================================================================*/
int uart1_isr(void) {
	udev_std->rcv_isr(udev_std);
	return 0;
}

/*=============================================================================
* Function	: 
* Description	: 
* Input Para	: 
* Output Para	: 
* Return Value  : 
=============================================================================*/
#if 0
int uart2_isr(void) {
	udev_cdrs->rcv_isr(udev_cdrs);
	return 0;
}
#endif

/************************************END OF FILE******************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -