首页 技术 正文
技术 2022年11月15日
0 收藏 381 点赞 3,751 浏览 15268 个字

被突如其来的一个bug困扰了好几天, 起因是, 按键接的红外接收器, 结果发现, 一旦按下之后, IEN1, P0IE的标识位bit5, 被不知道特么的谁归0了, 也就是说, 按键只能被按下一次, 再按就不进中断了.

<img src="data:image/png;base64,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" alt="" />

后来研究了甜总的自定义按键.

http://blog.csdn.net/feilusia/article/details/50535963

发现按键根本不进中断.

接着, 又参考另一个文章:

http://www.cnblogs.com/chenzhao207/articles/4483189.html

不用协议栈, 直接做成一个文件, debug成功.

然后我才想起, 带协议编译的时候IAR有一句警告, 我没有注意, 就是说我后来定义的key中断跟hal_key文件里面定义的中断处理重复了.

于是, 我把编译的参数HAL_KEY=FALSE, 还把board_init时候的key_config给干掉, 终于成功的在协议栈里面进了中断.

今天早上看了代码我才明白, 原来key的响应在OnBoard.c文件里面, 直接就是这个:

HalKeyConfig( OnboardKeyIntEnable, OnBoard_KeyCallback);

而在hal_key.c里面:

HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )
{
  HAL_ENTER_ISR();

if (HAL_KEY_SW_6_PXIFG & HAL_KEY_SW_6_BIT)

{
    halProcessKeyInterrupt();
  }

/*
    Clear the CPU interrupt flag for Port_0
    PxIFG has to be cleared before PxIF
  */

HAL_KEY_SW_6_PXIFG = 0;

HAL_KEY_CPU_PORT_0_IF = 0;

CLEAR_SLEEP_MODE();

HAL_EXIT_ISR();
  return;
}

上面这一段就是中断声明, 怎么知道的呢, 天杀的IAR没法进行全局的搜索, 还是用SI找到的:

(原来IAR的全局搜索要Ctrl+Alt+F的).

Hal_mcu.h 里面

#define HAL_ISR_FUNC_PROTOTYPE(f,v)     _PRAGMA(vector=v) __near_func __interrupt void f(void)
#define HAL_ISR_FUNCTION(f,v)           HAL_ISR_FUNC_PROTOTYPE(f,v); HAL_ISR_FUNC_DECLARATION(f,v)

原来HAL_ISR_FUNCTION(f,v) 就是 HAL_ISR_FUNC_PROTOTYPE(f,v);跟HAL_ISR_FUNC_DECLARATION(f,v)

而 HAL_ISR_FUNC_PROTOTYPE(f,v) 又是 _PRAGMA(vector=v) __near_func __interrupt void f(void)

所以 HAL_ISR_FUNCTION 就是中断处理的函数啊…

会跟

#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void){

}

起冲突的.

接下来要做的步骤:

1. 把系统的Key都干掉, 研究一下OnBoard.c里面的HalKeyConfig都有啥.

2. 如果没啥了, 就使用自己写的key的中断.

3. 检查中断响应的函数, EA=0肯定是不对的, 停掉P0IEN对应的bit位比较合理.

4. 测试红外的效果.

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,000
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,512
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,358
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,141
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,771
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,849