阅读的力量-----《代码大全》

摘要: 从今开始坚持记录读书感悟。《代码大全》绝对是一本好书,可惜翻译了这么个名字。1、隐藏设计决策对于减少“改动所影响的代码量”而言是至关重要的。 例:假若有一个程序,每个对象都有一个为id的成员变量保存唯一的ID。若使用全局变量id = ++g_maxId, 如果要维护id的话就需要修改每个与此相关的... 阅读全文
posted @ 2014-08-29 15:29 SuPer.Shang 阅读(190) 评论(0) 推荐(0) 编辑

.Xresources 配置文件

摘要: 安装rxvt-unicode-256color,如果不是这个版本的话VIM配色会显示不正常。~/.Xresources配置文件如下 1 !urxvt color scheme: 2 3 URxvt*background: #2B2B2B 4 URxvt*foreground: #DEDEDE 5 6 URxvt*colorUL: #86a2b0 7 8 ! black 9 URxvt*color0 : #2E343610 URxvt*color8 : #55575311 ! red12 URxvt*color1 : #CC000013 URxvt*color9 : #EF2929... 阅读全文
posted @ 2013-12-27 17:04 SuPer.Shang 阅读(2708) 评论(0) 推荐(0) 编辑

cadence16.6 中orcad导出网表时ERROR (ORCAP-5004)

摘要: ORCAD网表输出时 ERROR (ORCAP-5004):Errorinitializing COMproperty pages之前遇到过这个问题,解决后忘了记录下来了。依稀记得问题答案还只有一个是在cadence论坛。这次还好都能百度到了。重装系统后重装软件又出现了这个问题,这次记录下来以后使用:原文:http://www.cadence.com/Community/forums/p/15490/1310574.aspx#1310574This error message appears because of an improper entry in the registry of the 阅读全文
posted @ 2013-08-30 09:02 SuPer.Shang 阅读(5429) 评论(0) 推荐(0) 编辑

(转)分享一个低功耗项目小小心得

摘要: 转自:http://www.openedv.com/posts/list/18372.htm 前两个月在公司做了一个低功耗项目,现在功耗最低10uA不到,平均功耗40uA左右,算是达标了。因为是公司产品,就不方便贴代码、原理图了,该产品是一个小模块,可以方便的嵌入到各种系统里面。跟原子哥他们卖的NRF2401类似,是一个读卡器。 做这个项目中间也请了技术支持,因为外围电路芯片的功耗一直降不下来,经过与对方的反复交流,对方提供了低功耗的测试结果、硬件方案、软件方案,经过修改测试,最终成为我们的产品,功耗比较满意。 硬件方案选择的是STM32,外加某公司的读卡芯片。前期完成了读卡等功能的开发,最后 阅读全文
posted @ 2013-08-21 09:18 SuPer.Shang 阅读(3823) 评论(0) 推荐(2) 编辑

函数返回值传递

摘要: 出自《程序员的自我修养-链接、装载与库》P299eax是函数传递返回值的一个通道。1.对于小于4个字节的数据函数将返回值存储在eax中。2.5~8个字节对象的情况调用惯例都是采用eax和edx的联合返回方式进行。3.大于8个字节的返回类型,用一下代码测试: 1 typedef struct big_thing 2 { 3 char buf[128]; 4 }big_thing; 5 6 big_thing return_test() 7 { 8 big_thing b; 9 b.buf[] = 0;10 return b;11 }12 13 int main(... 阅读全文
posted @ 2013-08-18 10:50 SuPer.Shang 阅读(3512) 评论(0) 推荐(1) 编辑

STM32的SPI问题。

摘要: 问题描述:之前一直使用的单片机是LPC2109,对其SPI很熟悉。基本就是原本拿来稍作修改就用。由于某种原因需要使用STM32,然后设备的驱动是之前写好的,只修改了一些硬件控制端口,由于硬件驱动使用到了SPI接口,而我是把SPI接口提供了出来,本来以为简单修改SPI配置到对应单片机就行了。简单看了STM3的SPI配置,轻车熟路改代码,瞬间体现了良好的接口有哈。编译,生成目标文件,下载运行。并没有出现预想的结果。由于之前的设备驱动是能用的,所以排除设备驱动问题。开始以为是由于对STM32端口配置的不熟悉导致的、看手册,看别人代码,没发现问题。debug........问题定在SPI代码上。查看配 阅读全文
posted @ 2013-08-07 19:04 SuPer.Shang 阅读(7404) 评论(0) 推荐(1) 编辑

关于MDK中:RO-data、RW-data、ZI-data

摘要: 最近在LPC2109上调试ENC28J60,协议栈使用的是UIP,刚开始用的telnet服务,能够正常编译运行。然后换成webserver提示:enc28j60.axf: Error: L6406E: No space in execution regions with .ANY selector matching uip.o(.bss).enc28j60.axf: Error: L6407E: Sections of aggregate size 0x2204 bytes could not fit into .ANY selector(s).很是奇怪,然后把芯片换成大一点的发现ZI-dat 阅读全文
posted @ 2013-07-12 10:14 SuPer.Shang 阅读(3521) 评论(0) 推荐(0) 编辑

debian7安装问题解决方法

摘要: 1.时间问题。 系统使用UTC时钟,比WIN晚8个小时。 debian时间是按照/etc/adjtime设置的,adjtime是现在调整时间的设置文件. 使用hwclock命令配置adjtime成本地时间: hwclock -w --localtime adjtime第三行会变成LOCAL,然后修改系统时间:date -s 00:00:00 然后把时间写入主板中(或用ntpdate网上同步一下):(如果硬件时间是正确的话可以省略)hwclock --systohc2.gedit乱码问题。 gsettings set org.gnome.gedit.preferences.encod... 阅读全文
posted @ 2013-05-14 21:35 SuPer.Shang 阅读(767) 评论(0) 推荐(0) 编辑

bash

摘要: 1、bash 中set -o vi 使用VI模式,默认模式是emacs set -o emacs恢复原来的模式。2、script-是一个隐藏在终端的记录器启动:script file --> file 用来保存记录退出:exit或者ctrl+dbash下配置自动运行,并追加记录,vim /.prof... 阅读全文
posted @ 2013-04-27 17:00 SuPer.Shang 阅读(293) 评论(0) 推荐(0) 编辑

焊盘的设计尺寸(转)

摘要: 1. SMD焊盘设计裕量在于博士的视频教程中,SMD的焊盘设计裕量如下:(1)regular pad的大小为IPC LP Viewer软件中提供的数据。0805焊盘为:1.15*1.45(2)由于是表贴焊盘,因此不需要设置thermal relief 和antipad。(3)soldermask的大小为regular pad的大小加0.1。对于0805焊盘而言,soldermask为:1.25*1.55(4)pastemask的大小与regular pad相同。2. 通过孔焊盘设计裕量(1)《Cadence高速电路设计与仿真》一书中指出,元件引脚直径D与PCB焊盘孔径的对应关系为:当D80mi 阅读全文
posted @ 2013-04-11 18:13 SuPer.Shang 阅读(12257) 评论(0) 推荐(0) 编辑