前言

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

工作方法

今天有好几个同事出差去现场实验了,为了今天的顺利成行,昨天加了个班,但是从项目管理的角度或者说做事的方法上来讲,这次加班完全可以避免。主要是开发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. ES6中export及export default的区别

    相信很多人都使用过export.export default.import,然而它们到底有什么区别呢? 在JavaScript ES6中,export与export default均可用于导出常量.函 ...

  2. Docker 网络管理及容器跨主机通信

    1.网络模式 docker支持四种网络模式,使用--net选项指定: host,--net=host,如果指定此模式,容器将不会获得一个独立的network namespace,而是和宿主机共用一个. ...

  3. Spring Boot with Spring-Data-JPA学习案例

    0x01 什么是Spring Boot? Spring Boot是用来简化Spring应用初始搭建以及开发过程的全新框架,被认为是Spring MVC的"接班人",和微服务紧密联系 ...

  4. 将 Shiro 作为应用的权限基础 三:基于注解实现的授权认证过程

    授权即访问控制,它将判断用户在应用程序中对资源是否拥有相应的访问权限. 如,判断一个用户有查看页面的权限,编辑数据的权限,拥有某一按钮的权限等等. 一.用户权限模型 为实现一个较为灵活的用户权限数据模 ...

  5. Jmeter中正则表达式提取器使用详解

    在使用Jmeter过程中,会经常使用到正则表达式提取器提取器,虽然并不直接涉及到请求的测试,但是对于数据的传递起着很大的作用,本篇博文就是主要讲解关于正则表达式及其在Jmeter的Sampler中的调 ...

  6. Dependency Walker的替代品Dependencies

    在c++时代, Dependency Walker基本上是大部分程序员必备的工具之一,很可惜的是从2006起就不更新了.而且只支持vc的名字undemangle, https://github.com ...

  7. hackme.inndy.tw - pyyy - Writeup

    hackme.inndy.tw - pyyy - Writeup 0x01 反编译 1.第一次尝试的时候我直接在线反编译,部分结果如下. for (i, f) in enumerate(F): n = ...

  8. beta冲刺6-咸鱼

    前言:此篇是补昨天凌晨的.后面有更新但是太晚了就没有即使更新.所以现在过来更新一下. 昨天的未完成: 用户测试+测试报告 目前剩下的功能点:输入内容检测 我的社团输出显示格式调整. 今天的完成: 我的 ...

  9. Flask 扩展 国际化 本地化

    pip install flask-babel 先初始化一个Flask-Babel的实例 from flask import Flask from flask.ext.babel import Bab ...

  10. 服务器数据恢复方法_存储raid硬盘离线数据恢复案例

    [故障描述]某法院的一台HP-P4500的存储系统,底层是12块1TB的硬盘组的RAID.其中每6个1TB的盘一组,第一组的前面一部分组了一个RAID0+1,是存放HP-P4500嵌入式系统,接着组了 ...