前言

多做重要而不紧急的工作,慢慢的就会发现重要而紧急的工作没那么多了

工作方法

今天有好几个同事出差去现场实验了,为了今天的顺利成行,昨天加了个班,但是从项目管理的角度或者说做事的方法上来讲,这次加班完全可以避免。主要是开发APP的同事发现数据不正常之后,一直没有和我沟通,直到昨天下午,做出差前的准备时,才告诉我有问题。而且还有其他很多组件要同时调试,我也没办法很好地使用各种资源。所以,如果总是习惯于把重要不紧急的事情发展成重要且紧急的事情,总归有人要背锅。作为项目的一份子,我做的也不到位,没有很好地跟进项目的状态。在以后的项目中,要吸取这个项目的教训,明确项目中各项工作的轻重缓急,在执行过程中,贯彻尽可能地早处理和多处理重要且不紧急的工作,随着项目的进行,重要且紧急的工作就会慢慢减少,整个项目完成起来就会比较轻松,手忙脚乱的情况就会少一些。切记不要把重要不紧急的工作发展成重要且紧急的工作。

技术问题

这次的问题说起来也是怪自己。这款小仪器不是我研发的,但原理比较简单,由于负责的同事手头上活比较多,所以移交到我这里。

在调试过程中,我也是偷懒了,碰到一些不明了的问题,没有仔细思考,一般是第一时间去咨询研发人,这也就为这次的问题的出现买下来伏笔。

电路方面就不多说了,问题的核心出在C8051F350芯片内部AD上,具体现象为:

- 开关按下后,各部分供电正常,但MCU不能正常工作(概率事件)

- 在程序正常工作时(指示灯能够闪烁),AD值不正常,重启后,如果能够启动,AD值有可能发生变化,AD值随机,无规律

分析过程

由于之前调试过一次样机,工作正常,所以基本上可以排除软件出问题的可能性,但是还是单步调试了一下,有意思了,单步调试时,能够正常工作...

接下来,我就怀疑复位电路有问题,导致350没能够启动起来,但是看了一下复位电路,实在是太简单了,就是阻容电路,出问题的可能性也很小...

这时候,领导提议更换主芯片,换了之后问题依旧,而且按下开关,不能启动的概率更高了...

在我焊接芯片的时候,领导就跑了...考虑到AD值不断变化,就想到是不是350的ADC没有能够启动起来,350模拟电源的供电部分,我一直有一点点疑问,会不会是这里出了问题呢?

同事为模拟电源预留了两个来源,一个是3.3V电源,一个是3.0V参考电源。按照他的说法,默认焊接R11,就是利用3.0V参考电压源供电。从理论上分析(参考下图,需要输入的电流很小),貌似没有什么问题,REF5030提供的电流也是足够的(10mA)。

我自己在做设计的时候,是直接用3.3V供电的,而且我记得官方有块开发板还是参考设计,也是直接用3.3V供电的,所以我就把R11焊下来,把R10两个焊盘直接短接。问题就得到了解决。

结束语

说实在的,还是有点懵,因为没找到理论支撑说服自己,感觉有点稀里糊涂的。希望有大神路过的时候,顺便指点一下。

一个关于C8051F350模拟电源的小问题的更多相关文章

  1. 用c#写的一个局域网聊天客户端 类似小飞鸽

    用c#写的一个局域网聊天客户端 类似小飞鸽 摘自: http://www.cnblogs.com/yyl8781697/archive/2012/12/07/csharp-socket-udp.htm ...

  2. python(三)一个文件读写操作的小程序

    我们要实现一个文件读写操作的小程序 首先我们有一个文件 我们要以"============"为界限,每一个角色分割成一个独立的txt文件,按照分割线走的话是分成 xiaoNa_1. ...

  3. 笔试题&面试题:找出一个数组中第m小的值并输出

    题目:找出一个数组中第m小的值并输出. 代码: #include <stdio.h> int findm_min(int a[], int n, int m) //n代表数组长度,m代表找 ...

  4. 一个基于ES5的vue小demo

    由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...

  5. VC++:制作一个控件注册的小工具

    在平时的工作中,时常需要注册与反注册ActiveX控件,有时需要判断控件是否已经注册.   所以通过查找资料编写了一个控件注册的小工具,欢迎学习交流,不当之处请多多交流. 先直接上图:   主要代码: ...

  6. 利用@keyframe及animation做一个页面Loading时的小动画

    前言 利用@keyframe规则和animation常用属性做一个页面Loading时的小动画. 1  @keyframe规则简介 @keyframes定义关键帧,即动画每一帧执行什么. 要使用关键帧 ...

  7. 让一个div拖动和让一个panel拖动加拉大拉小

    一.让一个div拖动 <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <hea ...

  8. 如何开发一个简单的HTML5 Canvas 小游戏

    原文:How to make a simple HTML5 Canvas game 想要快速上手HTML5 Canvas小游戏开发?下面通过一个例子来进行手把手教学.(如果你怀疑我的资历, A Wiz ...

  9. 写了一个常规性生成merge 的小脚本

    现在使用数据库来写存储过程,动不动参数就会用到xml ,当然罗,优势也很明显,参数相对固定,而且灵活,如果要修改或者什么的,中间接口层也不需要做变化,只需要修改封装的存储过程以及程序传参就ok了. 随 ...

随机推荐

  1. JAVA 新手注意事项

    1.  System.exit(0);  强行关闭虚拟机         2.   System.out.println("*")     输出一个*并换行    (没后面的ln表 ...

  2. Spring Cloud Contract

    http://www.infoq.com/cn/news/2017/04/spring-cloud-contract 在默认情况下,我们希望用户以JAR文件的形式将生产者存根和契约发布到Maven库. ...

  3. kvm之四:从网上镜像安装虚拟机Centos6.8

    1.再加块硬盘,格式化挂载至新建目录/kvm2下 2.CentOS 6.8镜像地址 http://mirrors.163.com/centos/6.8/os/x86_64/ 3.配置安装参数,执行安装 ...

  4. Spring MVC的handlermapping之SimpleUrlHandlerMapping初始化

    前面信息同BeanNameUrlHandlerMapping,这里不再过多分析,详情请看 :Spring MVC的handlermapping之BeanNameUrlHandlerMapping初始化 ...

  5. apache实现301永久性重定向代码

    301重定向(301 redirect)又叫301代表永久性转移(Permanently Moved),将各种网络请求重新定个方向转到其它位置,是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬 ...

  6. C++中输出流的刷新问题和 endl和 \n的区别

    <C++ Primer>第5版 P6中提到endl具有换行和刷新输出流两个作用,那么没有 endl是否还会将输出流中的内容输出到设备中,再刷新输出流呢? cout << &qu ...

  7. [日常] PKUWC 2018爆零记

    吃枣药丸...先开个坑... day -1 上午周测...大翻车... 下午被查水表说明天必须啥啥啥...(当时我差点笑出声) 晚上领到笔记本一枚和一袋耗材(袜子) 然而班会开太晚回去没来得及收拾就晚 ...

  8. React Native 轻松集成分享功能(Android 篇)

    关于推送的集成请参考这篇文章,关于统计的集成请参考这篇文章,本篇文章将引导你集成分享功能. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台如下: ...

  9. php 常用数据大全

    一.数组操作的基本函数 数组的键名和值 array_values($arr);获得数组的值 array_keys($arr);获得数组的键名 array_flip($arr);数组中的值与键名互换(如 ...

  10. C语言第一周作业

    题目一:7-3 温度转换 本题要求编写程序,计算华氏温度150°F对应的摄氏温度.计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型. 1.实验代码 2.设计 ...