好文档 - 专业文书写作范文服务资料分享网站

STM32串口通讯程序

天下 分享 时间: 加入收藏 我要投稿 点赞

STM32串口通讯程序

STM32串口通讯程序

编辑整理:

尊敬的读者朋友们:

这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(STM32串口通讯程序)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。

本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为STM32串口通讯程序的全部内容。

STM32串口通讯程序

将AVR上的队列串口驱动程序修改后,运行在STM32开发板,采用中断方式接收和中断发送,并加入了缓冲收发队列操作。由于该驱动是用来操作西门子的TC35或MC55等通信模块,所以加入了“等待串口接收完成”函数,该函数需要一个10ms的定时进行计数累加。 #define SMS_UART0_c /*

**********************************************

*************************************************************** *

* STM32 UART1 driver *

* File : UART0.c * By : hjjft

************************************************************************************************************* */

/////////////////////////////////////////////////

// 这里将串口1写作0,主要原因是AVR是串口0,为了方便移植,这里仍然称为串口0 // ///////////////////////////////////////////////// static char UART0_RxBuf[UART0_RX_BUFFER_SIZE]; static volatile unsigned char UART0_RxHead;// static volatile unsigned char UART0_RxTail;

static char UART0_TxBuf[UART0_TX_BUFFER_SIZE];// static volatile unsigned char UART0_TxHead; static volatile unsigned char UART0_TxTail;

//---———-—-———-——-—————--————————————-———--—-————----—--———-—-

static volatile unsigned char Frame_counting;

/******************************************************************************* * Function Name : NVIC_Configuration

* Description : Configures Vector Table base location。 * Input : None * Output : None * Return : None

STM32串口通讯程序

*******************************************************************************/ void NVIC_USART_Configuration(void) {

NVIC_InitTypeDef NVIC_InitStructure; /* Enable the USART1 Interrupt */

NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQChannel; // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure。NVIC_IRQChannelSubPriority = 10; // NVIC_InitStructure。NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStructure); }

void GPIO_USART_Configuration(void) {

GPIO_InitTypeDef GPIO_InitStructure;

/* Configure USART1 Tx (PA.09) as alternate function push-pull */ GPIO_InitStructure。GPIO_Pin = GPIO_Pin_9;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure。GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);

/* Configure USART1 Rx (PA。10) as input floating */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;

GPIO_InitStructure。GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOA, &GPIO_InitStructure); }

/******************************************************************************* * Function Name : USART_Configuration

* Description : Configures the USART1. * Input : None * Output : None * Return : None

*******************************************************************************/ void USART_Configuration(unsigned long baudrate) {

USART_InitTypeDef USART_InitStructure;

USART_ClockInitTypeDef USART_ClockInitqlt;

/* USART1 configuration -—---—---——————————-——————---

STM32串口通讯程序

STM32串口通讯程序STM32串口通讯程序编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(STM32串口通
推荐度:
点击下载文档文档为doc格式
89rku005ig77t6k14pg60zn011onzd01ago
领取福利

微信扫码领取福利

微信扫码分享