
请问这是怎么回事啊,刚开始学不太懂什么意思,是什么问题应该怎么修改呢,
reg51.h里有个叫B的寄存器,所以你再定义一个sbit B就重复了。
定义名字的时候尽量规范一些,你这样太随意了。
重复定义
不知道你这个问题是否已经解决, 如果还没有解决的话:
- 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/346857
- 这篇博客也不错, 你可以看下记一次想利用分布式锁解决数据并发安全问题,但最后因为事务导致失败的问题
- 除此之外, 这篇博客: 嵌入式产品功耗调优那些事 - 功耗测量方法中的 【整机功耗测量】 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
- 如果产品是电池供电,需要使用【假电池】供电,即使用程控电源代替(模拟)电池供电。
- 高精度的程控电源,可以直接显示整机功耗电压电流数据,精度较差的程控电源,需要配合万用表(高精度,电流档),串接的方式测量整机电流功耗。
- 一般锂电池标称电压为:3.7~3.8V,所以可以把程控电源调到3.8V,模拟电池给系统供电。
- 可以测量待机模式、关机模式、运输模式、运行模式、无代码时裸板上电等场景下的整机功耗。
- 各个工作模式或场景下,一般都要设置一个目标功耗值,建立一个数据表格,不断的对比,用于功耗摸底、功耗调优各个阶段目标达成的评估。
- 需要编写各个模块的电源开关相关的接口代码,通过开关各路电源,对比整机功耗变化,估算各路电源的供电电流。
- 测量时,一般让系统进入待机模式,保证电源的平稳,每一路电源单独开启,对比整机电流的变化,这个变化值可以认为是这路电源的电流值。
- 有些器件,无法断开电源,但可以使用软件的方式关闭或进入shutdown模式,这样通过软件的方式开关器件,对比整机电流的变化值,估算这些器件的工作电流。
- 电路板在设计之初,为了方便功耗的验证与测量,可以设置一些0R(零欧姆)电阻,串接在各个电源回路里。
- 拆解方法:如电源回路中串接了一个0R电阻,可以把这个电阻用电烙铁焊下来,把万用表调到电流档串接进去(0欧电阻的焊盘两端),这样就可以测量这个电源路径的电流。
- 拆解测量完电流,需要把焊掉的电阻焊回去,保证电路板正常的供电。
- 电路板在设计之初,在电源路径上,串接了一个100mR(100毫欧姆)的电阻,或类似阻值比较小的电阻,若此路供电电流较大,可以采用更小阻值的【功率电阻】。
- 把万用表调到【电压档】,万用表的两个表笔,分别放置在这个小阻值电阻的两端(焊盘或测试点),也就是测量这个小阻值电阻两端的压差。
- 根据欧姆定律,可以计算出此路电源的电流,计算公式:
电阻两端的压差 / 电阻的阻值 = 此路电源的电流
- 如果电路板的电源路径上没有串接任何电阻,只有并联的去耦电容或滤波电容,并且软件无法开关拆解,万用表也无法串接测量,如何获取这条电源路径的电流呢?
1、 硬件拆解+灌电流法,通过硬件拆解,断开上游的电源入口,使用外部独立电源供电,注意外部电源与电路板需要【共地】(外部的GND与板子上的GND连通),此时,外部独立电源的供电电流,可认为就是此电路板电源路径的供电电流。
2、 不拆解硬件+灌电流法,可以在此电路板的电源路径上,找到一个供电电源的入口点,如一个电容的焊盘【正极】,外部电源【正极】连接这个电路板电源入口点,外部电源与电路板共地GND(外部电源的负极接电路板的负极)。注意外部电源的供电电压要【略高于】电路板此路供电电源的电压。如电路板供电电压采用1.8V供电,则外部电源供电可以采用(1.8V + 0.2V) 2V 供电。此时,外部独立电源的供电电流,可认为【近似等于】此路径的电流。
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^