面对大型C/C++程序时,只需观察其对struct的使用情况即可对其编写者的编程经验进行评估。由于大型C/C++程序势必要涉及一些(甚至大量)进行数据组合的结构体,这些结构体可以将原本意义属于一个整体的数据组合在一起。从某种程度上来说,会不会用struct,怎样用struct是区别一个开发人员是否具备丰富开发经历的标志。 继续阅读“C之值得回味的结构体”
二极管类别及作用简单小结
二极管最明显的特性即单向导电性,实际1N4001型硅整流二极管测量中,红表笔接二极管的负极,黑表笔接二极管的正极时,表针会动,说明二极管能够导电;然后将黑表笔接二极管负极,红表笔接二极管正极,此时万用表的表针根本不动或者只偏转一点点,说明导电不良。(万用表里面,黑表笔接的是内部电池的正极) 继续阅读“二极管类别及作用简单小结”
C之可重入函数 && 不可重入函数
嵌入式实时系统设计中,经常碰到多个任务调用同一个函数的情况。如果此函数当初不幸被设计成不可重入函数的话,那么不同任务调用该函数时可能修改其他任务调用该函数的数据,从而导致不可预料的后果。 继续阅读“C之可重入函数 && 不可重入函数”
入门级音箱DIY功放基础
一、常见 Hi-Fi集成功放
现今市面上常见的 Hi-Fi 集成功放,主要是以下三家公司的产品:
1、美国国家半导体公司(National Semiconductor),已被TI收购,代表产品有:LM1875、LM1876、LM3876、LM3886、LM4766等。
2、荷兰飞利浦公司(Philips),代表产品是TDA15xx系列,比较著名的有TDA1514及TDA1521。
3、意法微电子(SGS),和法国Thomson半导体合并,现为意法半导体(STMicroelectronics),比较著名的是TDA20xx系列及DMOS管的TDA7294、TDA7295、TDA7296。
国家半导体以及意法半导体的产品音色中性偏暖,飞利浦公司的产品则较为明亮。 继续阅读“入门级音箱DIY功放基础”
正弦信号发生器
从结构上看,正弦波振荡电路就是一个没有输入信号的带选频网络的正反馈放大电路。分析RC串并联选频网络的特性,根据正弦波振荡电路的两个条件,即振幅平衡和相位平衡,来选择合适的放大电路指标,从而构成一个完整地振荡电路。 继续阅读“正弦信号发生器”
信号完整性小记 ~ 前言
1、什么是信号完整性及其根源
随着电路工作频率地不断提高,在电路设计过程中不得不去考虑“0”、“1”码流是否准确无误地传输到接收端,接收端是否能准确无误地判断出来。尽管传输信息是数字的,但是承载这些信息的电压或电流波形却是模拟的,噪声、损耗、供电的不稳定等多种因素都会使电压或电流波形发生畸变,如果畸变到一定程度,接收器就可能错误判断发送器输出的“0”、“1”码,这就是信号完整性问题。 继续阅读“信号完整性小记 ~ 前言”
(*(volatile unsigned int *))详解
在看内核代码时,时常出现(*(volatile unsigned int *))相关定义,把具体宏定义放入其中就是(*(volatile unsigned int *))(0x4e000000),看着好像是定义一指针,该指针指向的内容就是0x4e000000该寄存器的内容。 继续阅读“(*(volatile unsigned int *))详解”
古诗词之美
爬虫框架Scrapy之初体验
最近正在拜读由Ryan Mitchell编写,OReilly出版的Web Scraping with Python。初级爬虫利用urllib、urllib2库以及正则表达式即可完成,不过还有更为强大的工具——Scrapy。虽然文中寥寥数语,不过整个实际安装过程还是煞费苦心呐!!!! 继续阅读“爬虫框架Scrapy之初体验”