历史上的今天
返回首页

历史上的今天

今天是:2025年06月09日(星期一)

正在发生

2018年06月09日 | 单片机在清除标志位时不要用位操作

2018-06-09 来源:eefocus

这两天在调试一个项目的时候,一台主机与两台从机通信,但是有一台从机的报文收不到,仔细阅读代码,发现寄存器等配置都正常,自信阅读代码发现在清接收完成寄存器的时候用到了位域,猜想这就是问题所在,于是修改了程序,下载后一切正常。在单片机中一般的标志寄存器都是写1清0,好多中断标志等都是这样设计的,这时候就要注意在清除标志的时候不能用位域,因为好多单片机不不支持位操作的。


比如要清除IrqReg寄存器的BIT5,IrqReg.bit5 = 1;在没有位操作的单片机中会编译成

IrqReg |= BIT5;这条语句分三步执行,先读IrqReg寄存器,进行位或操作,最后把位或的结果写入该寄存器,这样问题就产生了,如果这句操作之前IrqReg中BIT5和BIT6都是置位的,那么写的时候本来是清除BIT5的现在BIT6也清除了,正确的操作应该是IrqReg=BIT5


这个问题在最开始学习AVR单片机的时候在AVR的技术手册中看到过,所以这次解决这个问题没有费太大的周折,要不然真是很难想到这里会出问题。


推荐阅读

史海拾趣

高通(GENITOP)公司的发展小趣事

进入90年代,超霸电池开始拓展内地市场,先后在北京、上海、广州等十多个主要城市设立销售点。与此同时,公司业务也逐步向多元化发展,除了电池生产外,还涉足电缆、汽车配线、扬声器等领域。这一时期,超霸电池推出了可循环再用的镍氢充电电池和充电器,满足了市场对环保、高效电池产品的需求,进一步巩固了其在电池行业的领先地位。

Electro-Optical Systems Inc公司的发展小趣事

为了保持技术领先地位和市场竞争力,EOS不断加大研发投入,积极推动产品创新。他们与多所知名高校和研究机构建立产学研合作关系,共同开展前沿技术研究。同时,EOS也积极拓展国际市场,产品出口到欧美、东南亚等多个国家和地区。通过持续创新和国际拓展,EOS在红外探测器领域的地位日益稳固。

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

东科半导体(DK)公司自创立之初,就专注于电源管理芯片的研发与生产。公司初期面临资金紧张、技术储备不足等挑战,但凭借对技术的执着追求和对市场的敏锐洞察,东科逐步在行业中崭露头角。公司创始人带领团队夜以继日地研发,成功推出了一系列具有竞争力的电源管理芯片产品,赢得了市场的认可。

ECM [ECM Electronics Limited.]公司的发展小趣事

面对日益严重的环境问题,ECM Electronics Limited.积极响应国家节能减排的号召,将绿色发展和可持续发展作为企业的重要战略。公司采用环保材料和节能技术,降低产品能耗和排放。同时,公司还积极参与环保公益活动,推动行业绿色发展。这些举措不仅提升了公司的社会形象,也为公司的长期发展奠定了坚实的基础。

捷茂微(GATEMODE)公司的发展小趣事

ECM Electronics Limited.自创立之初,就注重技术创新。公司投入大量研发资金,专注于开发高效、节能的电子产品。通过不断的技术迭代和产品创新,ECM成功推出了一系列具有竞争力的产品,逐渐在市场上建立了良好的口碑。同时,公司还积极与高校和科研机构合作,引进先进技术,为公司的持续发展提供了强大的技术支撑。

屹晶微(EG)公司的发展小趣事

随着业务的不断拓展和市场的不断扩大,屹晶微逐渐意识到与合作伙伴建立长期战略合作关系的重要性。于是,在2023年,他们与电子产业一站式服务平台华秋电子达成了授权代理合作。这一合作不仅为屹晶微提供了更广阔的市场渠道和客户资源,也为其未来的发展奠定了坚实的基础。

在合作过程中,华秋电子为屹晶微提供了全方位的支持和服务。他们共同推广屹晶微的芯片产品,为客户提供更优质的解决方案和服务。同时,华秋电子还利用自身的技术优势和渠道优势,帮助屹晶微拓展海外市场,提升品牌知名度和影响力。

以上两个故事只是屹晶微在电子行业中发展起来的一部分。他们的发展历程充满了挑战和机遇,但黄米龙和他的团队始终保持着坚定的信念和不懈的努力,为中国的芯片产业做出了积极的贡献。

问答坊 | AI 解惑

你开发的项目文档化了吗?看看老外是怎么做的。希望参与项目管理的朋友都进来看看

出差报告 引言        我于8月24日~10月22日在瑞典研究所出差,为期2个月,这里把工作情况做一下回顾和总结,以期对今后自己以及产品今后的工作和发展有一点作用。 任务完成情况     此次到瑞典研究所主要是 ...…

查看全部问答>

LPC1343

LPC1343开发板申请!…

查看全部问答>

单片机IO端口速查表

为单片机写程序减轻麻烦…

查看全部问答>

如何将石英表改装成24小时指示时间?

如何让石英表按24小时指示时间?…

查看全部问答>

请问谁有dopod P800的10脚miniUSB插口引脚定义,另:它的电池有6个引脚,只用到其中的两个作为电源吗?

它的miniUSB接口可以用于充电、USB传输、耳麦, 我没能找到它的引脚定义。 谁有还请麻烦指点一二, 如有封装图,更是感激不尽! …

查看全部问答>

找高人帮忙,有偿的~~~

-- 需求:     破解带加密狗的软件     或者     能够想办法无限复制这个加密狗也行。     有偿的,价格面议(至少3k),最好是在北京的     联系:   qq:20668627 …

查看全部问答>

VHDL4X4键盘程序,编译问题,请帮忙

今天调程序老师出现这样的错误, 想知道是怎么回事 Error: VHDL error at keyb12_11.vhd(82): can\'t infer register for signal \"tem_press\" because signal does not hold its value outside clock edge 我也问了有些人,有的说是保持时间不 ...…

查看全部问答>

IAR+EK_SMT32F调试警告信

                                   …

查看全部问答>

关于STM32进入待机模式后很容易自动复位

把STM32按照正确的时序进入待机模式之后, 一开始都还正常..外部中断是不能唤醒的, 除非在PA0(WAKE UP PIN)上加一个上升沿. 但是很奇怪的是, 我发现我开一下台灯, 系统居然自己复位了, 就好像我按了复位键或者按了PA0一样....随后发现,貌似外 ...…

查看全部问答>