打印

STM32接收发送中断

[复制链接]
1349|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
joypark159|  楼主 | 2013-7-22 11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
自己编写了个程序,接送发送数组的,只发送数组或是只接收数组都能实现,但两个合并起来后,就直接进入发送中断了,没有执行接收中断,我是要接收到数组事再发送出去。
void USART3_IRQHandler(void)
{

        if(USART_GetITStatus(USART3,USART_IT_RXNE)!=RESET)
        {
                        //if(USART_GetFlagStatus(USART3, USART_FLAG_RXNE) !=RESET)                       
                        USART_ClearITPendingBit(USART3,USART_IT_RXNE);
                table2[i++]= USART_ReceiveData(USART3);       
                if(i==21)               
                USART_ITConfig(USART3, USART_IT_RXNE, DISABLE);
        }

if(USART_GetITStatus(USART3,USART_IT_TXE)!=RESET)
                        {
                                delay(10);
                USART_ClearITPendingBit(USART3,USART_IT_TXE);
         USART_ClearFlag(USART3,USART_FLAG_TC);
                                GPIO_SetBits(GPIOB,GPIO_Pin_14);
                                USART_SendData(USART3,table2[j++]);       
                                if(j==21)
                                         USART_ITConfig(USART3, USART_IT_TXE, DISABLE);
                //GPIO_ResetBits(GPIOB,GPIO_Pin_14);
                                // while(USART_GetFlagStatus(USART3, USART_FLAG_TXE) == RESET);
                        }
                  
}
沙发
jiaxinhui| | 2013-7-23 07:30 | 只看该作者
你不行,参考下我这个帖子里的一个485例程,跟你的例程很相似
https://bbs.21ic.com/icview-315151-1-1.html

使用特权

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

本版积分规则

8

主题

30

帖子

0

粉丝