OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3202|回复: 3

串口发送中断

[复制链接]

28

主题

176

帖子

0

精华

高级会员

Rank: 4

积分
738
金钱
738
注册时间
2014-7-1
在线时间
180 小时
发表于 2016-5-12 14:41:33 | 显示全部楼层 |阅读模式
10金钱
为什么我在串口发送中断中设置的是USART_IT_TC,即发送完成后进入中断,发送连续字符时,理应先发送一个数据才能激发进入中断发送后续数据,但是为何我只要使能中断USART_ITConfig(UART4, USART_IT_TC , ENABLE);即使不先发送一个数据,也能进入中断把所有数都发完,有谁遇见过同样的问题??

最佳答案

查看完整内容[请看2#楼]

初始化之后,立马就清中断标志位试试,ST的芯片,好像使能后是会进一次中断
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

70

主题

6761

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13117
金钱
13117
注册时间
2012-11-26
在线时间
3813 小时
发表于 2016-5-12 14:41:34 | 显示全部楼层
初始化之后,立马就清中断标志位试试,ST的芯片,好像使能后是会进一次中断
回复

使用道具 举报

3

主题

401

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1768
金钱
1768
注册时间
2015-6-11
在线时间
312 小时
发表于 2016-5-12 17:37:18 | 显示全部楼层
1.需要你提供中断内代码
2.仔细检查串口有没有开启其它中断
回复

使用道具 举报

28

主题

176

帖子

0

精华

高级会员

Rank: 4

积分
738
金钱
738
注册时间
2014-7-1
在线时间
180 小时
 楼主| 发表于 2016-5-13 13:17:20 | 显示全部楼层
zc123 发表于 2016-5-12 17:37
1.需要你提供中断内代码
2.仔细检查串口有没有开启其它中断

void UART5_IRQHandler(void)
{
        if(USART_GetITStatus( UART5 , USART_IT_RXNE ) != RESET)
        {
                USART5_RxBuffer[g_UART5_RxTail++] = USART_ReceiveData( UART5 );
                g_UART5_RxTail&= USART5_RXBUF_LEN-1;
                UART5_RecvLKJKJC();  //¶Ô′®¿ú5½óêÕμÄêy¾Y½øDD′|àí
        }
        if(USART_GetITStatus( UART5 , USART_IT_TC ) != RESET)
        {
                if(g_UART5_TxHead == g_UART5_TxTail)  //·¢Ëííê3é
                {
                        UART5_CON = 1;  //¸Ä3é½óêÕ×′ì¬
                        USART_ITConfig(UART5, USART_IT_TC , DISABLE);
                }else
                {
                        USART_SendData( UART5, USART5_TxBuffer[g_UART5_TxHead++]);
                        g_UART5_TxHead &= USART5_TXBUF_LEN-1;
                }
        }

}

void UART5_SendStart(void)
{
        UART5_CON = 0;      //·¢Ëí
        USART_ITConfig(UART5, USART_IT_TC , ENABLE);
}

这个是中断代码,我的发送函数只用把发送的数据写入发送缓冲区,之后调用void UART5_SendStart(void)函数就能发送,经过调试发现是刚开始发送一个空数据出去,之后才开始正正的发送数据,不知道是为什么?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 17:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表