发新帖我要提问
12
返回列表
打印
[STM32F1]

stm32f103vet6 uart4中断出不来

[复制链接]
楼主: zhanglinsen
手机看帖
扫描二维码
随时随地手机跟帖
21
zhanglinsen|  楼主 | 2015-10-21 16:26 | 只看该作者 回帖奖励 |倒序浏览
710184559 发表于 2015-10-20 20:25
好好看看usart1 和 uart4 的NVIC设置有啥不一样

大神说下到底有啥不同 确实不太懂

使用特权

评论回复
22
710184559| | 2015-10-21 20:17 | 只看该作者
The table below gives the allowed values of the pre-emption priority and subpriority according
to the Priority Grouping configuration performed by NVIC_PriorityGroupConfig function
  ============================================================================================================================
    NVIC_PriorityGroup   | NVIC_IRQChannelPreemptionPriority | NVIC_IRQChannelSubPriority  | Description
  ============================================================================================================================
   NVIC_PriorityGroup_0  |                0                  |            0-15             |   0 bits for pre-emption priority
                         |                                   |                             |   4 bits for subpriority
  ----------------------------------------------------------------------------------------------------------------------------
   NVIC_PriorityGroup_1  |                0-1                |            0-7              |   1 bits for pre-emption priority
                         |                                   |                             |   3 bits for subpriority
  ----------------------------------------------------------------------------------------------------------------------------   
   NVIC_PriorityGroup_2  |                0-3                |            0-3              |   2 bits for pre-emption priority
                         |                                   |                             |   2 bits for subpriority
  ----------------------------------------------------------------------------------------------------------------------------   
   NVIC_PriorityGroup_3  |                0-7                |            0-1              |   3 bits for pre-emption priority
                         |                                   |                             |   1 bits for subpriority
  ----------------------------------------------------------------------------------------------------------------------------   
   NVIC_PriorityGroup_4  |                0-15               |            0                |   4 bits for pre-emption priority
                         |                                   |                             |   0 bits for subpriority                       
  ============================================================================================================================

使用特权

评论回复
23
710184559| | 2015-10-21 20:26 | 只看该作者
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0 );//此项分组的PreemptionPriority优先级不能为1吧
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;

使用特权

评论回复
24
稳稳の幸福| | 2015-10-22 20:15 | 只看该作者
莫非是NVIC的问题?这个功能太大了,设置上肯定不好搞。

使用特权

评论回复
25
捉虫天师| | 2015-10-22 21:25 | 只看该作者
莫非这个型号的芯片没4?

使用特权

评论回复
26
710184559| | 2015-10-23 18:49 | 只看该作者
优先级分组用四位表示
由上面的英文可知
NVIC_PriorityGroup_0       NVIC_IRQChannelPreemptionPriority 能设置成  0       NVIC_IRQChannelSubPriority 能设置成  0 - 15
NVIC_PriorityGroup_1       NVIC_IRQChannelPreemptionPriority 能设置成  0-1       NVIC_IRQChannelSubPriority 能设置成  0 - 7
NVIC_PriorityGroup_2       NVIC_IRQChannelPreemptionPriority 能设置成  0-3       NVIC_IRQChannelSubPriority 能设置成  0 - 3
NVIC_PriorityGroup_3      NVIC_IRQChannelPreemptionPriority 能设置成  0-15      NVIC_IRQChannelSubPriority 能设置成  0
而你选择的是 NVIC_PriorityGroup_0   所以应该是只能设置 NVIC_IRQChannelSubPriority 而NVIC_IRQChannelPreemptionPriority没有抢占优先级,你却设置了这个NVIC_IRQChannelPreemptionPriority的抢占优先级为 =1;

使用特权

评论回复
27
ywlzh| | 2015-10-23 18:53 | 只看该作者
好好看看你的中断服务程序,发完一个字节是会产生一个发送完的标志位的,没有清零是不会再发的

使用特权

评论回复
28
米尔豪斯| | 2015-10-23 21:44 | 只看该作者
NVIC比较灵活,需要好好研究

使用特权

评论回复
29
FireRiver9| | 2015-10-26 22:57 | 只看该作者
进到中断里,出不来了?查看一下中断标志位

使用特权

评论回复
30
豆腐块| | 2015-10-26 23:07 | 只看该作者
中断响应了吗,中断标志位清除了吗

使用特权

评论回复
31
643757107| | 2015-10-27 08:51 | 只看该作者
进到中断里,出不来了?查看一下中断标志位
应该是只能设置 NVIC_IRQChannelSubPriority 而NVIC_IRQChannelPreemptionPriority没有抢占优先级

使用特权

评论回复
32
309030106| | 2015-10-28 19:58 | 只看该作者
进中断后,中断有响应吗,清了标志位没

使用特权

评论回复
33
huangcunxiake| | 2015-10-28 22:17 | 只看该作者
NVIC一直都没研究透彻,这个功能真是太强大了。

使用特权

评论回复
34
lizhuang_1| | 2015-11-2 15:03 | 只看该作者
卡死是什么意思?波特率有没有设置正确啊?

使用特权

评论回复
35
zhanglinsen|  楼主 | 2015-11-2 17:13 | 只看该作者
lizhuang_1 发表于 2015-11-2 15:03
卡死是什么意思?波特率有没有设置正确啊?

有啊 就是一接收到数据就开在中断里

使用特权

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

本版积分规则