你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4_Disvcovery 之串口调试!

[复制链接]
张卫 提问时间:2014-7-29 21:56 /
 
如下是STM32F4调试的串口程序:
 
#include "usart2.h"
  
 
 
 void MyUartInit(void )
 {
 //NVIC_Config();                
  STM_EVAL_COMInit();     
  USART_Configuration(115200);      
 // USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); 
 

 
 
 
void STM_EVAL_COMInit(void) 

  GPIO_InitTypeDef GPIO_InitStructure; 
 
  /* Enable GPIO clock */ 
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); 
  /* Enable UART clock */ 
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 
  
  /* Connect PXx to USARTx_Tx*/ 
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_USART1); 
  /* Connect PXx to USARTx_Rx*/ 
  GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_USART1); 
 
  /* Configure USART Tx as alternate function  */ 
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; 
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; 
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; 
  GPIO_Init(GPIOB, &GPIO_InitStructure); 
 
  /* Configure USART Rx as alternate function  */ 
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; 
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7; 
  GPIO_Init(GPIOB, &GPIO_InitStructure); 

 
 
 
void USART_Configuration(int BaudRate) 

    USART_InitTypeDef USART_InitStructure; 
 
    USART_InitStructure.USART_BaudRate = BaudRate; 
    USART_InitStructure.USART_WordLength = USART_WordLength_8b; 
    USART_InitStructure.USART_StopBits = USART_StopBits_1; 
    USART_InitStructure.USART_Parity = USART_Parity_No ; 
    USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; 
    USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; 
    USART_Init(USART1, &USART_InitStructure); /* Configure USART1 basic and asynchronous paramters */ 
    USART_Cmd(USART1, ENABLE);   /* Enable USART1 */ 

 
 
void NVIC_Config(void) 

  NVIC_InitTypeDef NVIC_InitStructure; 
 
  /* Enable the USARTx Interrupt */ 
  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn; 
  NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; 
  NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; 
  NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; 
  NVIC_Init(&NVIC_InitStructure); 

 
 
int fputc(int ch, FILE *f) 

  /* Place your implementation of fputc here */ 
  /* e.g. write a character to the USART */ 
  USART_SendData(USART1, (u8) ch); 
 
  /* Loop until the end of transmission */ 
  while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET) 
  { 
  } 
 
  return ch; 
}
int fgetc(FILE *f)
{
  
  while (USART_GetFlagStatus(USART2, USART_FLAG_RXNE) == RESET);
  return (int)USART_ReceiveData(USART2);
}

void USART1_IRQHandler(void)
{
char c;
 if(USART_GetFlagStatus(USART1,USART_FLAG_RXNE)==SET)
 {
   c = USART_ReceiveData(USART1);
   USART_SendData(USART1,c);
   USART_ClearITPendingBit(USART1,USART_IT_RXNE);
// GPIO_ToggleBits(GPIOD,GPIO_Pin_14);
 }
}

void  Usart_Test(void)
{
 int i=0;
 for(i=0 ; i
收藏 1 评论17 发布时间:2014-7-29 21:56

举报

17个回答
calom1992 回答时间:2014-8-11 13:55:45

回复:STM32F4_Disvcovery 之串口调试!

试试看 怎么样呀!
flex_tan 回答时间:2014-8-16 22:16:50

RE:STM32F4_Disvcovery 之串口调试!

good
◆Flyzym◆ 回答时间:2014-8-17 11:44:28

RE:STM32F4_Disvcovery 之串口调试!

试试看 怎么样呀!
好人一生平安 回答时间:2014-9-16 10:10:21

回复:STM32F4_Disvcovery 之串口调试!

 好
飞羽奇 回答时间:2014-9-24 14:23:03

RE:STM32F4_Disvcovery 之串口调试!

调试
飞羽奇 回答时间:2014-9-24 14:23:44

RE:STM32F4_Disvcovery 之串口调试!

调试
飞羽奇 回答时间:2014-9-24 14:23:53

RE:STM32F4_Disvcovery 之串口调试!

调试
忆回余 回答时间:2014-10-11 09:00:58

RE:STM32F4_Disvcovery 之串口调试!

ddd
魔方奇才 回答时间:2015-2-2 20:12:51
请教一下楼主,F429DISCOVERY的PA9和PA10并没有通过电平转换芯片连接到上位机,这个怎么解决的?
12下一页
关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版