打印

STM32F107 串口接收,硬件无法置RXE位为1?

[复制链接]
3276|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cxy0629|  楼主 | 2011-1-14 11:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F107 串口接收,硬件无法置RXE位为1,这会是什么问题?改怎么解决呢?
沙发
cxy0629|  楼主 | 2011-1-14 12:49 | 只看该作者
if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)==SET) 程序运行的时候始终停止在这句话上,就是说始终接收不到数据啊,不知道该从哪儿查起了,还请大家指教一二哦!

使用特权

评论回复
板凳
IJK| | 2011-1-14 13:43 | 只看该作者
串口的时钟要打开,还要使能串口。
其实还是建议从ST提供的例子开始做。

使用特权

评论回复
地板
cxy0629|  楼主 | 2011-1-16 17:12 | 只看该作者
你好!打开时钟,使能串口都弄了还是不行,发送都可以的。。。
void RCC_Configuration(void)
{
        SystemInit();       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA
                           |RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC
                           |RCC_APB2Periph_GPIOD | RCC_APB2Periph_ADC1
                           | RCC_APB2Periph_AFIO |
                           RCC_APB2Periph_SPI1, ENABLE );
  // RCC_APB2PeriphClockCmd(RCC_APB2Periph_ALL ,ENABLE );
     RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4
                           |RCC_APB1Periph_USART3|RCC_APB1Periph_TIM2                                  
                           , ENABLE );
         RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
}
void USART1_Configuration(void)
{
        USART_InitTypeDef USART_InitStructure;
        USART_InitStructure.USART_BaudRate            = 115200  ;
        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);
        USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
        USART_Cmd(USART1, ENABLE);

使用特权

评论回复
5
darksven| | 2011-3-4 09:44 | 只看该作者
呃,貌似楼主问题还没有解决哦,我mark一下,现在也不知道接收的问题出在哪,一次40多个数据过来,然后查询接收啥都收不到

使用特权

评论回复
6
ST_ARM| | 2011-3-4 10:03 | 只看该作者
你使用示波器检测一下RX引脚上是否有波形出现。

使用特权

评论回复
7
darksven| | 2011-3-4 10:17 | 只看该作者
7# ST_ARM
不知道楼上问的是我还是lz,我是有的,而且我用的是st官方的smart card的例程,io和clk线也没有改变,以前使用串口中断是可以的(串口2),我现在考虑由于clk信号出现一个周期之后线上数据就过来了,是不是我查询太晚导致寄存器里的数据被冲掉了?(本人菜鸟~~对串口机制没有理解透彻)

我调试的时候看寄存器DR也根本没有变化啊(可能是MDK的问题看不出来吧)

使用特权

评论回复
8
bnyuli| | 2011-3-4 10:40 | 只看该作者
谔谔  都挺厉害的 看来我没来错地方

使用特权

评论回复
9
LDTEST| | 2011-3-4 21:28 | 只看该作者
是不是没有收到数据哦! 硬件连接出故障了? 我前几天出现接收中断,使劲调试成寻,花了三天时间,终于发下 是跳线帽 接触不是很好

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

35

帖子

1

粉丝