打印
[STM32F1]

USART3进入不到接收中断

[复制链接]
楼主: xxmmi
手机看帖
扫描二维码
随时随地手机跟帖
21
xxmmi|  楼主 | 2020-10-11 18:47 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
重新新建了个工程,也有启动文件和中断向量表,可是还进入不了串口3的接收中断
void USART3_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
        
        /* config USART3 clock */
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
        
        /* USART3 GPIO config */
        /* Configure USART3 Tx (PB.10) as alternate function push-pull */
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);   
        /* Configure USART3 Rx (PB.11) as input floating */
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
         
        /* USART3 mode config */
        USART_InitStructure.USART_BaudRate =9600;
        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(USART3, &USART_InitStructure);
        
        
        NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQChannel;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;               
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;        
        NVIC_Init(&NVIC_InitStructure);
        
        USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
        USART_Cmd(USART3, ENABLE);
}

使用特权

评论回复
22
xxmmi|  楼主 | 2020-10-11 18:53 | 只看该作者

使用特权

评论回复
23
xxmmi|  楼主 | 2020-10-11 18:56 | 只看该作者
直接接的db9,共地了

使用特权

评论回复
24
xxmmi|  楼主 | 2020-10-11 19:00 | 只看该作者
检查了,没有问题

使用特权

评论回复
25
xxmmi|  楼主 | 2020-10-11 19:04 | 只看该作者
引脚有没有初始化配置?中断配置对了吗?一般就是串口配置的问题,多看32的技术手册。

使用特权

评论回复
26
liliang9554| | 2020-10-11 19:10 | 只看该作者
你也可以参考下正点原子的例程,他们的程序写的很详细也有配套的电子书。

使用特权

评论回复
27
xxmmi|  楼主 | 2020-10-11 19:13 | 只看该作者
这是最新建的工程,还是不行。大神们,能否帮小弟看看

使用特权

评论回复
28
wangzsa| | 2020-10-11 19:16 | 只看该作者
中断向量指过去了吗

使用特权

评论回复
29
bqyj| | 2020-10-11 19:19 | 只看该作者
中断使能了吗

使用特权

评论回复
30
zwll| | 2020-10-11 19:39 | 只看该作者

中断使能了吗

使用特权

评论回复
31
dingy| | 2020-10-11 19:45 | 只看该作者
中断向量的问题

使用特权

评论回复
32
yinxiangh| | 2020-10-11 19:49 | 只看该作者
一个是总中断要开启,一个是串口接收中单也要开启

使用特权

评论回复
33
kangzj| | 2020-10-11 19:53 | 只看该作者
io口是如何配置的啊

使用特权

评论回复
34
llia| | 2020-10-11 19:58 | 只看该作者
没开中断吗?

使用特权

评论回复
35
happy_10| | 2020-10-11 20:01 | 只看该作者
示波器上有波形吗

使用特权

评论回复
36
chuxh| | 2020-10-11 20:06 | 只看该作者
用示波器测一下STM32的RX线(PC发送数据时)是否有数据波形

使用特权

评论回复
37
huwr| | 2020-10-11 20:08 | 只看该作者
用示波器看波形看看RX有没有收到数据,确定硬件问题还是软件问题,在来排查用示波器不太确定的话,烧个串口3的例子工程进去看看,如果还是进不了中断,那就是硬件问题,如果可以,还是你自己的配置问题。

使用特权

评论回复
38
xxmmi|  楼主 | 2020-10-11 20:13 | 只看该作者
直接调用串口的接收函数,能够一位一位的接收,说明串口上收到数据了,但就是进不去中断,中断配置我看手册和很多例程都只有这些了,不知问题出在哪儿。

使用特权

评论回复
39
happy_10| | 2020-10-11 20:16 | 只看该作者

不用中断,查询接收完成标志位也可以判断

能查询到相关的标志位吗?

使用特权

评论回复
40
xxmmi|  楼主 | 2020-10-11 20:21 | 只看该作者
今天用keil重新建工程,就能正常使用了。

使用特权

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

本版积分规则