#include "sys.h"#include"usart.h"#include"string.h"#include"stdio.h"#include"stdlib.h"
//蓝牙
//
uart_find uart1s;//定义串口一的接受处理结构体//局部定义以便实现模块化//USART
#define USART USART1
#define USART_CLK RCC_APB2Periph_USART1
#define USART_CLK_SET RCC_APB2PeriphClockCmd
#define USART_GPIO_CLK_SET RCC_APB2PeriphClockCmd
#define USART_RX_GPIO_PORT GPIOA
#define USART_RX_GPIO_CLK RCC_APB2Periph_GPIOA
#define USART_RX_PIN GPIO_Pin_10
#define USART_RX_IRQ USART1_IRQn
#define USART_RX_IRQ_HANDLER USART1_IRQHandler //USART3_IRQHandler
#define USART_TX_GPIO_PORT GPIOA
#define USART_TX_GPIO_CLK RCC_APB2Periph_GPIOA
#define USART_TX_PIN GPIO_Pin_9
#define USART_BAUDRATE 115200
//DMA tx
#define USART_DR_BASE (USART1_BASE+0x04) //0x40013800 + 0x04 = 0x40013804,串口数据寄存器地址
#define SEND_BUFF_SIZE 128 //发送的数据量,SEND_BUFF_SIZE * DMA_MemoryDataSize
#define USART_TX_DMA_CLK RCC_AHBPeriph_DMA1
#define USART_TX_DMA_CHANNEL DMA1_Channel4
#define USART_TX_DMA_IRQ DMA1_Channel4_IRQn//中断接口
#define USART_TX_DMA_IRQ_HANDLER DMA1_Channel4_IRQHandler//中断接口
#define USART_Tx_DMA_FLAG DMA1_FLAG_GL4
//错误标志
#define USART_Tx_ERR_DMA_FLAG DMA1_FLAG_GL4
//DMA rx
#define USART_DR_BASE (USART1_BASE+0x04) //0x40013800 + 0x04 = 0x40013804,串口数据寄存器地址
#define REC_BUFF_SIZE 128 //发送的数据量,SEND_BUFF_SIZE * DMA_MemoryDataSize
#define USART_RX_DMA_CLK RCC_AHBPeriph_DMA1
#define USART_RX_DMA_CHANNEL DMA1_Channel5
#define USART_RX_DMA_IRQ DMA1_Channel5_IRQn//中断接口
#define USART_RX_DMA_IRQ_HANDLER DMA1_Channel5_IRQHandler//中断接口
#define USART_Rx_DMA_FLAG DMA1_FLAG_GL5
//错误标志
#define USART_Rx_ERR_DMA_FLAG DMA1_FLAG_GL5
static uint8_t SendBuff[SEND_BUFF_SIZE];//发送测试缓冲
static uint8_t rec_by=0;//缓冲位置
static uint8_t recBuff[REC_BUFF_SIZE]; //接受测试缓冲 临时缓冲
static uint8_t recBuff1[REC_BUFF_SIZE]; //接受测试缓冲
static uint8_t recBuff2[REC_BUFF_SIZE]; //接受测试缓冲
static u16 rec_counter=0;//static uint8_t *send_buff = SendBuff;//锁定发送地址//static uint8_t *rec_buff1 = recBuff1;//锁定接收地址1//static uint8_t *rec_buff2 = recBuff2;//锁定接收地址2
static void uart_dma_send(u8 *buff,u8 len);static void USART_DMA_Config(void);static void user_heander(void);static void USART_Config(void);/**********************************
定义函数接口
********************************