6083|8

64

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于设置中断优先级 [复制链接]

做一个多路采样并与电脑通信的程序。
现在单独的都能够正常运行,采样和通讯的数据都是正确的,
使用了TIM2进行定时,在TIM2中断中进行AD的采样,AD使用DMA方式进行多路采样。而通讯的话,使用了USART1的中断,在USART1中断程序中进行数据的接收。
以上如果使用在一起的话就产生问题了,STM32接收到的数据比较混乱,怀疑是由于进入USART1中断处理的时候,又产生了定时器的中断,所以会使接收不正确。尝试着设置了一下NVIC中的中断优先级,但是尝试了几种0和1的组合,但是还是没有效果。
想问一下大家:
1。USART1的中断进入的话,是在接收到什么信号再进入的吗?我这里感觉就算没有接收到数据也老是进入中断。

2。在NVIC的中断的设置
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2)
这个Group_2是指什么意思吗?
另外NVIC_IRQChannelPreemptionPriority
NVIC_IRQChannelSubPriority
分别设置的是什么吗?

3。如果使用DMA方式的话,会不会和ADC的DMA相冲突吗?
此帖出自stm32/stm8论坛

最新回复

                                     详情 回复 发表于 2008-9-1 17:28
点赞 关注
 

回复
举报

73

帖子

0

TA的资源

一粒金砂(初级)

沙发
 

关于设置中断优先级的问题

请参考我的博客文章:STM32(Cortex-M3)中的优先级概念

不明白你的问题1,“在接收到什么信号再进入的吗?”这是什么意思?
不明白你的问题3,“如果使用DMA方式的话”,谁使用?
此帖出自stm32/stm8论坛
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

解释

问题1:USART1处于接收时,当接收中断标志位为1(即DR中的数据不为空)的时候,会产生一个中断,然后进入到相应的USART1_IRQHandler中断中去执行吧?
我在中断中放了个点亮和熄灭灯的语句,目前的情况是在没有发送数据的时候,小灯会一直亮着(以一定高频率闪烁)。所以想问一下,为什么没有发送数据时,会一直进入中断进行执行吗?
开启的中断:USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
  USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);

问题3: 是指USART使用DMA的话,是不是AD的DMA就不能使用了?还是可以同时使用?
此帖出自stm32/stm8论坛
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

4
 

哈哈

                                 问题解决了,呵呵,主要是我同时也开了发送中断,所以一直进入,关掉就正常了
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

5
 

如果USART使用DMA,ADC可以同时使用DMA,不影响操作

                                  
此帖出自stm32/stm8论坛
 
 
 

回复

72

帖子

0

TA的资源

一粒金砂(初级)

6
 

哦,谢谢香主

另外想问一下,USART在通讯的时候,Tx一个byte的时间是怎么定的吗?我设置了baud rate是115200,数据8b,stop bit 1b,无校验。Rx的时间是5个byte每个11us左右,而Tx的时间共31个byte(在数组内),共用了大约2.8ms,这个差得也太多了吧?
PS:Rx是在USART中断内执行的,Tx是在外部执行的循环,和这个有关系吗?
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

7
 

呵呵

                                 今天观察了一下,计算是王道哈。昨天是我看错了- -!果然是遵循115200的速度传送的
此帖出自stm32/stm8论坛
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

8
 

其实这是STM32的一个DEBUG

                                 我使用过的CPU当中没有这样的问题,一开发送中断就响应中断,都是开完中断后当把数据写入发送缓冲区以后才产生中断的,可是这个STM32偏偏一开发送中断就进入中断
此帖出自stm32/stm8论坛
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

9
 

^_^! 别乱说!

                                  
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表