OpenEdv-开源电子网

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

初学者看《例说STM32》的几个疑问

[复制链接]

12

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2012-8-14
在线时间
0 小时
发表于 2012-8-14 19:49:19 | 显示全部楼层 |阅读模式
  你好,第九章外部中断实验里面的外部中断15~10中断服务函数
void EXTI15_10_IRQHandler(void)
{
      delay_ms(10);
      if(!KEY0)
    {
       ......
       我把清中断标志位写在这里
       EXTI->R = 1 << 13;
    }
   else if( !KEY1)
    {
      ......
     EXTI->R = 1 << 15
     }
  书上是写在这里的
  ........
  书上的写法一切正常,我的运行有问题。
  现象给我的感觉是不是多源中断一旦发生所有相关开启的标志位都置位了啊,
   所以要一起写在最后来清除中断标志位?
}

  另外,书中例程串口间隔1S发送“OK”,但外部按键中断后的一瞬间,发送的时间间隔不对了,不知道是不是中断影响了延时还是什么?
心兰相随
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-8-14 21:33:06 | 显示全部楼层
回复【楼主位】SprayFly:
---------------------------------
你这样写也是应该可以的,不过就是在中断初始化的时候,可能第一次进入该函数,但是并没有KEY按下,导致无法清除标志位,从而一直在中断函数循环.
中断对OK有影响,但是人眼应该是察觉不出来,你怎么发现的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

12

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2012-8-14
在线时间
0 小时
 楼主| 发表于 2012-8-16 20:02:23 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢了,中断的问题解决了,但按键中断后,串口助手突然几乎同时出现两个OK,每次都这样,试了2个很好的串口助手,都这样,不知是怎么回事?
心兰相随
回复 支持 反对

使用道具 举报

12

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2012-8-14
在线时间
0 小时
 楼主| 发表于 2012-8-16 20:08:56 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
还有原子老师,我的TFT-LCD ID读出来是4531试了一下哪些画图的函数,都能用,是和9320一样的吗?
心兰相随
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-8-16 20:11:00 | 显示全部楼层
回复【4楼】SprayFly:
---------------------------------
这个我们代码是兼容的.
回复【3楼】SprayFly:
---------------------------------
说明你发了两次吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

12

主题

40

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2012-8-14
在线时间
0 小时
 楼主| 发表于 2012-8-17 21:51:19 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
原子哥,我有几个新问题,IO口高阻态是不是浮空输入哦?

另外,STM32的待机模式,在void Sys_Standby(void)函数开头,根据情况关闭使用的外设,我这里不太明白,待机模式时时钟等等都停了,而且也是STM32最低功耗的情况,外设不是自动强行就停了吗,为什么要自己关呢?
心兰相随
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-8-17 23:58:39 | 显示全部楼层
回复【6楼】SprayFly:
---------------------------------
1,可以这么理解吧.
2,这个不是自动的,待机模式只是时钟什么的停止了,只是不能再改变而已,但是事先发生的改变还是会维持的.就像一个开关,你要用力才能去拨动,但是一旦拨动到开的位置,就不需要你再用力了,即使你不再去管它,他还是一直开的...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 10:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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