OpenEdv-开源电子网

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

为什么几乎每个例程里面都有“设置系统中断优先级分组2”和“初始化串口波特率为115200”,屏蔽掉就不行了呢?

[复制链接]

2

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-8-19
在线时间
13 小时
发表于 2016-2-1 21:29:21 | 显示全部楼层 |阅读模式
5金钱
为什么几乎每个例程里面都有“设置系统中断优先级分组2”和“初始化串口波特率为115200”,屏蔽掉就不行了呢?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
发表于 2016-2-1 21:50:53 | 显示全部楼层
设置中断优先级分组,你可以去掉,前提是你所应用的所有外设中没有一个需要用到中断的,记住,我这里说的是,没有一个!,如果要是有两个及以上的外设需要中断应用的话,你就必须设置中断优先级分组,不然的话,如果在某一个时刻,多个中断同时发生了,那请问,你STM芯片执行哪个中断应用请求,这样很容易将芯片损坏的
至于初始化串口波特率为115200,你也可以去掉,如果你所设计的这个程序中,没有用到USART/UART的时候,你就可以去掉,不过我建议,你还是都加上吧,有个良好的编程思维
其实,我也是个新手,我不知道我说的对不对
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1863
金钱
1863
注册时间
2011-3-29
在线时间
139 小时
发表于 2016-2-1 22:48:48 来自手机 | 显示全部楼层
q546163199 发表于 2016-2-1 21:50
设置中断优先级分组,你可以去掉,前提是你所应用的所有外设中没有一个需要用到中断的,记住,我这里说的是 ...

很久没接触stm32了,大概记得cortex m3有默认抢占优先级和响应优先级的,不可能出现同个响应优先级的情况。至于说由于没设置中断分组导致硬件损坏,那更是匪夷所思,胡说八道了。
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1863
金钱
1863
注册时间
2011-3-29
在线时间
139 小时
发表于 2016-2-1 22:52:26 来自手机 | 显示全部楼层
楼主所说的不行是指哪方面不行?如果你有用到串口,那肯定要先进行初始化。串口在单片机里经常用于通信,比如调试的。
回复

使用道具 举报

2

主题

3

帖子

0

精华

初级会员

Rank: 2

积分
54
金钱
54
注册时间
2015-8-19
在线时间
13 小时
 楼主| 发表于 2016-2-1 22:56:25 | 显示全部楼层
ofourme 发表于 2016-2-1 22:52
楼主所说的不行是指哪方面不行?如果你有用到串口,那肯定要先进行初始化。串口在单片机里经常用于通信,比 ...

我找到问题了,用液晶屏的时候一定要开串口,因为要用到printf函数,不然会液晶屏会死机,我说的不行就是没任何显示
回复

使用道具 举报

35

主题

193

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
476
金钱
476
注册时间
2015-12-27
在线时间
116 小时
发表于 2016-2-1 23:29:38 | 显示全部楼层
ofourme 发表于 2016-2-1 22:48
很久没接触stm32了,大概记得cortex m3有默认抢占优先级和响应优先级的,不可能出现同个响应优先级的情况 ...

我只是想表达,容易造成程序混乱的意思
回复

使用道具 举报

34

主题

805

帖子

4

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1863
金钱
1863
注册时间
2011-3-29
在线时间
139 小时
发表于 2016-2-2 00:44:59 来自手机 | 显示全部楼层
869192760 发表于 2016-2-1 22:56
我找到问题了,用液晶屏的时候一定要开串口,因为要用到printf函数,不然会液晶屏会死机,我说的不行就是 ...

我也不太清楚为什么不行。大概记得原子的代码,printf是调用重载putch,通过串口的查询发送来实现的。可能是因为没有初始化串口的话,串口时钟没有开启,无法启动传输,程序一直查询等待发送完毕,导致死循环吧。真实原因是什么,得看到代码才能确定。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-26 02:58

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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