官方QQ群收藏本站

百问linux嵌入式论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 39|回复: 1

i2c

[复制链接]

33

主题

57

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
发表于 2020-2-6 22:03:07 | 显示全部楼层 |阅读模式
本帖最后由 曹董董 于 2020-2-9 20:54 编辑

注意:如果点击空白处无法输入,则点击字会有输入提示符 | 则可以使用键盘进行输入!

此板块为  [ARM裸机加强版]
  • 问题所在章节:
  • 发生问题的运行环境:
  • 问题发生描述:
问题1:
请问老师, 视频中在读EEPROM时, 需要构造两个msg, 一个写方向, 一个读方向, 但是每个msg之间存在stop信号, 而EEPROM手册两个start信号之间没有stop信号, 为什么还能正常读写呢?
16ZGOIR6QE(9J2GT0QJD.png

问题2:代码1
void register_irq(unsigned int irq, pfunc func)
{
    irq_arry[irq] = func;

    INTMOD &= ~(1<<irq);
    INTMSK &= ~(1<<irq);
}   
代码2
void register_irq(unsigned int irq, pfunc func)
{   
    INTMOD &= ~(1<<irq);
    INTMSK &= ~(1<<irq);
       
    irq_arry[irq] = func;
}   

代码2会卡死,而代码1会正常执行,这是为什么?这是两个程序的反汇编 sdram_bad.dis (390.85 KB, 下载次数: 0)
回复

使用道具 举报

0

主题

1401

帖子

4285

积分

版主

Rank: 7Rank: 7Rank: 7

积分
4285
发表于 6 天前 | 显示全部楼层
分析下
    INTMOD &= ~(1<<irq);
    INTMSK &= ~(1<<irq);
这俩的具体作用吧  应该就是这个影响的
我是百问网www.100ask.org答疑助手,有关站务问题请与我联系。
韦东山视频开发板购买店铺https://100ask.taobao.com/
微信公众平台:baiwenkeji
回复 支持 反对

使用道具 举报

技术支持
在线咨询
咨询热线
0755-86200561
微信扫一扫
获取更多资讯!

Archiver|小黑屋|百问linux嵌入式论坛     

GMT+8, 2020-2-22 12:35 , Processed in 0.132846 second(s), 10 queries , File On.

Powered by Discuz! X3.3 Licensed

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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