• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >嵌入式开发 > 求助:STM32F205串口无法接收数据

求助:STM32F205串口无法接收数据

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-05

佚名通过本文主要向大家介绍了stm32f205数据手册,stm32f205,stm32f205中文手册,stm32f205固件库,stm32f205原理图等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:求助:STM32F205 串口无法接收数据
描述:

现象如题.
发送中断是可以进去的。
想了很久没想到原因在哪,求帮助。
代码如下:
void NVIC_Configuration()
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);     
NVIC_InitStructure.NVIC_IRQChannel = UART4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
void Uart2_Init(u32 nBaud)
{
    USART_InitTypeDef USART_InitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
//
USART_DeInit(USART2);
//
RCC_AHB1PeriphClockCmd(UART2_TX_GPIO_CLK|UART2_RX_GPIO_CLK,ENABLE);
RCC_APB1PeriphClockCmd(UART2_CLK,ENABLE);
//
GPIO_PinAFConfig(UART2_TX_GPIO_PORT,UART2_TX_PIN,GPIO_AF_USART2);
GPIO_PinAFConfig(UART2_RX_GPIO_PORT,UART2_RX_PIN,GPIO_AF_USART2);
//TX
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 = UART2_TX_PIN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(UART2_TX_GPIO_PORT,&GPIO_InitStructure);
//RX
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Pin = UART2_RX_PIN;
GPIO_Init(UART2_RX_GPIO_PORT,&GPIO_InitStructure);
//
USART_InitStructure.USART_BaudRate = nBaud;
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(USART2, &USART_InitStructure);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);
USART_ITConfig(USART2, USART_IT_TXE, ENABLE);
USART_Cmd(USART2, ENABLE);
//·à?1μúò???êy?Y?T·¨·¢?í?êìa?£
//USART_GetITStatus(USART2, USART_FLAG_TC); 
}
void USART2_IRQHandler(void)
{
//
if (USART_GetFlagStatus(USART2, USART_FLAG_ORE) != RESET)
{
USART_ReceiveData(USART2);
}
//
if(USART_GetITStatus(USART2, USART_IT_TXE) != RESET)   
{ 
USART_ITConfig(USART2, USART_IT_TXE, DISABLE);
//USART_ClearITPendingBit(UART4,USART_IT_TXE);
}
//
if(USART_GetITStatus(USART2,USART_IT_RXNE) != RESET)
{
ElemType eDat;
g_TestInfo.nUart2RcvCnt++;
eDat = USART_ReceiveData(USART2) & 0xFF;
QueueIn(Get_Uart2_Rx_Fifo(),eDat);
USART_ClearITPendingBit(USART2, USART_IT_RXNE); 
}
}


解决方案1:

先把发送中断关了,在中断函数的入口断点看看能不能进入,如果不能那确定就是配置的问题了,找 st 的 demo看看

解决方案2:

可以试试先把发送中断关了,从最简单的开始调试


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 求助:STM32F205串口无法接收数据

相关文章

  • 2017-06-05 WinCE打补丁后对话框变大
  • 2017-06-05 关于51单片机的中断实现多任务的问题
  • 2017-06-05 求WinCE5Platformbuilder的path路径WinCE5生成NKbin时提示不是内部和外部指令
  • 2017-06-05 请问在那里可以找到FAT12的资料?
  • 2017-06-05 如何在驱动层用TDI实现多播
  • 2017-06-05 Win2k下安装一个打印机驱动的过程中系统都做什么工作?
  • 2017-06-05 如何测量一个D触发器的延时,QuartusII仿真
  • 2017-06-05 请问怎样在vxworks下把dosfat的文件系统挂到flash上?
  • 2017-06-17嵌入式系统驱动程序的设计开发方法
  • 2017-06-05 BCD编码二进制与十进制之间的转换

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • winCE做的form如何切换多语言?
    • PCM数据+FFT进行频谱显示
    • 关于setupapih头文件的问题
    • 关于ARM单片机SPI_DMA传输的疑问
    • X86向MIPS移植的问题
    • arm-linux-gcc交叉编译的问题(其中用到了共享内存)
    • 关于SRIO交换机访问的问题
    • STM32测量频率,现在测试100K-130K频率误差在8HZ-12HZ,不过当每次测量频率变化,测量出来的数值有些不稳定有些波动4HZ,怎么解决这个问题呢
    • 想做一个有关USB口的驱动demo是不是一定要和开发板之类的硬件连接???
    • eeprom断电丢失,我要疯了,求助

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有