本帖最后由 icecut 于 2014-11-13 13:32 编辑
蚂蚁蛋开源,板级测试代码.
视频演示,可以将你源代码看到的和实际显示对应起来.加深对技术的理解.
板级测试是一个比较容易忽略的问题,小公司流程不规范.发现功能出问题,才会去测试和返修.如果产品有大批量生产,1%左右的生产问题的公司有很多.每次遇到问题.就要耗费掉一天的时间去做无用功.
如何做板级测试,是有很多身边的东西可以借鉴.比如电磁炉,你插上220v 电源,蜂鸣器会响.为什不是指示灯闪呢?这就是细节,板级测试就是使用一个简单的程序,测试板卡的功能.这正好和单片机学习者的个人水平测试相吻合.所以蚂蚁蛋在板卡上都烧写了板级测试程序.只要上电就能确认板卡是否硬件正常.
要证明普通的 io 引脚.能够输出高低电平.并且能证明与之相连的 io 设备功能正常.最简单的是 led,你要点亮,然后熄灭.还要保证你能快速判断.那你需要一个比较快的频率闪烁.一般好用的范围是1-10hz,如果小于1就需要等.如果大于10,有可能在人的视觉延迟下不方便看清,更重要的一点是不要让人看上去有烦躁的感觉.比如蜂鸣器,在某种频率下会让人烦躁.这样就影响了排错效率.或者影响其他人工作.
对于数码管,使用相同的逻辑.就是闪烁所有位段.当然因为数码管有两种方式熄灭.关闭位选和段选,导致难以证明io 跳变.更重要的是难看.所以要考虑能证明,还要比较漂亮的证明.对于我的4bit 数码管来说.我只要全部点亮过 a-g, 对每一个数码管都都有点亮和关闭的过程. 于是我设计了一个最外圈段码循环点亮.一个常规的霓虹灯效果.即照顾了美观又不失功能.还有一个考虑就是概率,这里还有几个段是没有点亮的,按照概率,数码管扫描式,坏其中一段的概率很小.就不需要太在乎.在其他功能测试中能够覆盖就够了.比如最后的温度显示
串口的证明 串口其实不用证明能够下载程序,板子就是好的.对部分板卡做示波器信号探测.就基本没问题.另外在开发过程中,我设置115200bps,因为用 arm 习惯了.然后发现传统的8051常用9600.要用增强版才能115200bps.每一个测试都不能无显示.没有进度条的测试是反人类的.你不知道程序是不是停止了.是不是出错了.不知测试到什么功能了.比如三次串口发送,数码管从左到右显示三个特殊符号.而接收的把数据显示在一个数码管上.
eeprom 的证明 写测试.读测试,对比.数据值并且能在已经测试的数码管上显示.有三个相位,写,读,对比.在数码管上显示从上到下三条线.因为读写速度还是很快的.容易一不小心错过.这里做了一个延时,减缓了测试速度.并不代表 eeprom 读写慢.
18b20温度传感器的证明 本来这个功能我和我的这个程序是预留给用户终期检查.把这些功能拼起来做一个电子日历.看了某个极客的数码管手表,发现我这板子挂手脖上也是个手表.哈哈哈.
言归正传,这个程序也会公开.并且增加了序列号读取功能.那么我板子上预留的双18b20用来检验你的 c 语言功底.因为我没法说你 c 语言是不是过关.很多人都很牛,无论是真正牛还是装,所以我没法知道 c 语言水平.只能留一个功能给大家.能写完单总线器件搜索的人,c 语言一定能过关.因为网上没有参考代码.
双击打开 rar,注释里有密码!!防止非人为篡改
蚂蚁蛋单片机整版测试.rar
(3.76 MB)
更多视频参考:
http://www.youku.com/playlist_show/id_22978212.html |