STM32F407 Discovery uart1串口通信

这篇博客介绍了如何在STM32F407 Discovery板上配置和使用UART1进行串口通信。通过设置GPIO、NVIC中断、USART初始化等步骤,实现串口发送和接收功能。示例代码包含USART配置函数和主函数中的关键操作,如波特率设置和中断启用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include "stm32f4_discovery.h"
#include <stdio.h>
 
#define LED1_ON     GPIO_SetBits(GPIOD,GPIO_Pin_12)
#define LED1_OFF	GPIO_ResetBits(GPIOD,GPIO_Pin_12)

#define LED2_ON     GPIO_SetBits(GPIOD,GPIO_Pin_13)
#define LED2_OFF	GPIO_ResetBits(GPIOD,GPIO_Pin_13)

extern uint8_t NbrOfDataToTransfer;
extern uint8_t NbrOfDataToRead;
extern __IO uint8_t TxCounter; 
extern __IO uint16_t RxCounter; 

void NVIC_Config(void);
void GPIO_Configuration(void);
void STM_EVAL_COMInit(void);
void USART_Configuration(int BaudRate);
void LED_Config(void);
void Delay(__IO uint32_t nCount);
 
int main(void)
{
  /* Configure the system clocks */
  NVIC_Config();                /* NVIC Configuration */
 
//GPIO_Configuration();         /* Configure the GPIOs */
  STM_EVAL_COMInit();  
  
  USART_Configuration(115200);        /* Configure the USART1 's mode */
                                /* Enable the EVAL_COM1 Transmit interrupt: this interrupt is generated when the 
                                   EVAL_COM1 transmit data register is empty */  

  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
  
  LED_Config();
  
  while (1)
  {
      Delay(0xfFFFFF); 
      Delay(0xfFFFFF); 
      printf("\n\rUSART Printf Example\n\r");
  }
}


void Delay(__IO uint32_t nCount)
{
  while(nCoun
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值