历史上的今天
返回首页

历史上的今天

今天是:2025年04月02日(星期三)

正在发生

2019年04月02日 | STM32F030 I2C 从模式中断编程

2019-04-02 来源:eefocus

第一次用I2C的从模式,之前用的是主模式,用的IO模拟的,在很多设备都用上了,没什么问题。在使用I2C从模式之前,也在网上看到很多人说这个是坑。自己花了几天的时间,终于跳过了这个坑,再次总结下:


1. 最困难的地方:因为需要两个平台对接,主端用的是LINUX系统,芯片是TI335X,从端是STM32F030,我两端的程序都没写过,所以出现问题了,无法判定是哪一边的问题,这个很痛苦。


2. 例子。虽然“拿来主义”不太厚道”,但是站在巨人的肩膀上,往往是最快的。


1) STM32F030的代码:http://www.openedv.com/forum.php?mod=attachment&aid=NDczMzV8N2FkMWE1NWZ8MTU0MTUwMjI3MnwwfDY0NTIy


2)Linux的代码:http://blog.sina.com.cn/s/blog_13087b7fa0102wcyg.html


3. 实际上STM32F030写的已经很好了,只是我在调试过程中,总是huiy怀疑这怀疑那的,改了很多代码,做了很多打印信息,实际上证明我的怀疑都是错的。


4. Linux才是很大的坑,毕竟我很少在Linux下编程。


  1)ioctl返回的是成功失败的标志位,而我一开始以为是返回成功的字节数,这里花了半天时间,老是返回1,实际上就是成功的,而我认为应该范围我需要的长度。


2) 在读、写同时操作的时候,必须先读后写。我在调试的时候,先调试写的代码,是OK的,在调试度的代码,也是OK,最后合并的时候,也是OK。但是发现一断电重开机就不行,折腾几下右可以了。最后把读放在写前面就没在出现异常了。


以上,做个记录。


推荐阅读

史海拾趣

东科半导体(DK)公司的发展小趣事

为了加速技术创新和人才培养,东科半导体(DK)公司积极与高校和科研机构开展产学研合作。公司与安徽工业大学共建联合实验室,共同研发新技术、新产品。此外,东科还积极引进国内外优秀人才,打造了一支高素质、专业化的研发团队。通过与高校和科研机构的合作,东科不仅提升了自身的研发实力,也为公司的长期发展奠定了坚实的人才基础。

Cal-Chip Electronics公司的发展小趣事

随着公司实力的不断增强,Cal-Chip Electronics公司开始将目光投向国际市场。在XXXX年,公司成功开拓了欧洲市场,并在当地设立了分支机构。随后,公司又陆续进入北美、亚洲等多个国家和地区,实现了业务的全球化布局。在国际市场的拓展过程中,公司不仅提升了品牌知名度,也积累了丰富的国际运营经验。

ACCUTEK公司的发展小趣事

随着技术的不断进步,ACCUTEK公司意识到要想在竞争激烈的电子行业中脱颖而出,必须不断进行技术创新和产品升级。公司加大了对研发的投入,引进了一批高素质的研发人才,并与多所高校和研究机构建立了合作关系。经过数年的努力,公司成功开发出了多款具有自主知识产权的高精度数控设备,这些产品在市场上获得了广泛好评,为公司的发展奠定了坚实基础。

Dynex公司的发展小趣事

在发展过程中,ACCUTEK公司始终注重品牌建设和品质提升。公司投入大量资源用于品牌推广和市场宣传,提高了品牌知名度和美誉度。同时,公司还建立了严格的质量管理体系和售后服务体系,确保每一台出厂的设备都能达到客户的要求和期望。这些举措有效地提升了公司的市场竞争力,赢得了更多客户的信任和支持。

广东奥科公司的发展小趣事

广东奥科公司深知品质是企业生存和发展的关键。因此,公司始终将品质管理放在首位,从原材料采购到生产流程控制,再到产品出厂检验,每一个环节都严格把控品质。同时,公司还建立了完善的品质管理体系和持续改进机制,通过不断优化生产工艺和提升产品质量,确保每一款产品都能满足客户的期望和需求。

Fanstel公司的发展小趣事

在市场竞争日益激烈的情况下,Fanstel公司意识到市场拓展的重要性。公司制定了一套精准的市场营销策略,针对不同行业和地区的客户需求,推出了定制化的产品和解决方案。同时,Fanstel还积极开拓国际市场,通过参加国际展会、建立海外销售网络等方式,成功将产品打入全球市场。这些举措不仅提升了公司的知名度,也大大增加了公司的销售额。

问答坊 | AI 解惑

供应电路板PCB

本公司是专业生产线路板的,单(FR-4,CEM-1),双,多层(4-18层),铝基板,LED超长板,牙签板,小批量大批 量都做,帮客户抄板,改板,开模等一条龙服务!         1:双面板加急24-48小时,一般3-4天出货。   &nbs ...…

查看全部问答>

数控直流电压源设计

设计任务:采用AT89S52单片机、DAC0832、键盘及显示电路设计一数控直流电压源。…

查看全部问答>

K3扫盲贴,呵呵,一起来学学吧

最近朋友里,谈及K3比较多,于是找了个K3的扫盲文章,来分享下,准备一点点整懂K3,如果有兴趣,一起来吧~~~ 华为为“山寨手机”供应芯片? 没错,它正走在联发科的道路上。手机终端业务在华为的手里是个“鸡肋”的角色,但是华为现在却开始在“山 ...…

查看全部问答>

wince写文件的速度

   最近在做一个可视对讲的系统,其中有个留影留言的功能,因为一些原因,暂时没有压缩视频,分辨率是320*240,yuv420格式。一桢是115200字节。留影留言时,会把从网络接收到的视频存入文件。目前是保存到SD卡,但是发现写入一桢,消耗了 ...…

查看全部问答>

请教在windows mobile中如何改变分辩率?

我的程序是以分辩率320*240做的,现在PDA换了,是640*480的,界面全乱了,我想改一下分辩率,这是最简单的了,希望大家帮我!…

查看全部问答>

vs2008中如何动态加载新字体?在线等,多谢

vs2008开发智能设备程序,需要用到一种字体,如何在程序里面动态加载,而不是调用系统的字体?…

查看全部问答>

关于ARM屏驱动的问题

   哪位朋友在ARM下调试过DE模式的屏的驱动呀,LCD一般是SYNC模式的,但我现在拿到一个屏是DE MODE ONLY的,没有HSYNC和VSYNC请问怎么调呀!…

查看全部问答>

关于硬件中输入输出范围的问题!

请问电脑中\"内存范围\"和\"输入输出范围\"是指? 请问在“系统属性”->“设备管理器”看硬件资源选项中的“内存范围”和“输入输出范围”是指什么意思?如网卡内存范围:EA000000-EA0000FF   COM口输入输出:范围:03F8-03FF,到底是 ...…

查看全部问答>

请问如何提取wince里windows文件夹里的所有文件出来保存

请问如何提取wince里windows文件夹里的所有文件出来保存,我拷贝时总提示 不能从rom里复制文件,谢谢…

查看全部问答>