虽然我在工作中已经非常注意优先级的问题,可还是不小心犯了一个优先级导致的错误: 这句话的本意是等待SR寄存器的某位变为1才继续往下执行,而实际上,因为”==”的优先级大于”&”,这句话等同于: 即 while (0); 所以每次执行到该句话时,不管当前SR寄存器的内容是什么,都会直接跳过while。为了防止出现优先级错误,正确的写法应该是: 与此类似的错误还有: 这句语句的本意是将nByte左移3位后的值加上8赋给nValue,然而实际上因 […]
年度归档: 2012年
STM32 | STM32F10x启动文件的选择
STM32的启动文件根据型号不同,可分为以下几种: – startup_stm32f10x_ld_vl.s: for STM32 Low density Value line devices – startup_stm32f10x_ld.s: for STM32 Low density devices – startup_stm32f10x_md_vl.s: for STM32 Medium density Value line devices – […]
为直流稳压源加了电压显示
因为暂时买不起稳压电源,当时自己用变压器和LM2596组装了这个简易电压源,但是当时输出电压不能数显,只能用外用表测量,很不方便。 上周从网上买了一个电压测量模块,7元,进行了简单改装,现在这个稳压源更加实用了:
Smart Home | ZigBee无线设备的低功耗通讯方案
在ZigBee网络中,COO、Router通常由外部电源供电,而ZED节点一般由电池供电。为了提高ZED节点的工作时间,我们需要进行低功耗设计。 低功耗可以从两个层面上考虑:1是硬件层面上的,2是软件层面上的。从硬件层面上说,可考虑的角度主要有:MCU及电路中的其他芯片是否支持睡眠、使用上下拉电阻节约功耗、电源芯片是否可管理、芯片及偏置电路的漏电流等。从软件层面上说,就是提高通信效率、设计睡眠与唤醒策略、加快处理速率减少工作时间等。 我从通信软件设计的角度,列举了几种可行的通讯方案,并最终选择了 […]
自制简易家用报警器
最近我所在的小区频频发生盗窃案件,为了保证财产安全,我决定发挥工程师的优势,制作一套家庭安防系统。 家用报警器就是第一步,它检测一定范围内是否有人体活动,如果有则发出报警,从而起到一定的警示与提醒作用。 它的基本原理是使用一个人体热释电传感器,该传感器在检测到人体活动后,会输出一个持续一段时间的高电平,用该电平通过三极管驱动一个有源蜂鸣器,从而发出报警声。 所需要的材料如下: 大多数材料都是易得的,一些电子材料可以在电子市场买到,人体热释电传感器可以从网上买到,如果没有合适的小盒子,也可以用其它 […]
Smart Home | 短距离无线通信的方案与选择
随着通信与物联网技术的不断发展,我们的设计中越来越多的开始出现无线通信的元素。通过无线通信,设备不再只是独立工作,而是可以通过网络协同工作,增强设备的灵活性与功能。短距离无线通信是无线通讯中最常见的一种情况,一般指通讯范围不超过100m的无线通信。本文整理了短距离无线通信的常用方案,并将不同的方案进行了比较,最后叙述了如何根据不同的项目需求进行选择。 一、常见的短距离无线通信方案 1.1 无线编解码芯片 无线编码芯片将数据编码后进行无线传输,而无线解码器则接收无线数据、并进行一些容错处理。无线 […]
深圳Maker Faire制汇节见闻
上个礼拜我和两个朋友利用周末的时间,去深圳参加了由O’Reilly举办的制汇节活动。 (关于Maker Faire的介绍,可以参见之前的文章:Maker Faire创客展会,中国深圳,4月8号) 展会所在地在宝安区F518,这次展会的主题是“集小智慧,越大未来”,参照方有国内外创客、创客空间和各大机器人制造厂商。 4月8号一早,我们从宾馆出发,还没到地方,远远的就能看见展馆了,F518展馆的外貌很有特色: 很有名的EggBot,可以在鸡蛋上刻出图形: Dangerous Prototypes的单 […]
ARM | 编译器CODE、RO、RW、ZI的含义
当编译一个ARM程序后,会出现Code=… RO-data= … RW-data=… ZI-data=… 的提示报告,如: Program Size: Code=976 RO-data=344 RW-data=4 ZI-data=612 那么这些数据的含义究竟是什么呢? CODE:代码区占用大小,即程序指令的大小; RO:只读变量占用大小,用于保存常量和查询表的大小; RW:读写变量占用大小,是已初始化为非0的变量的大小; ZI:全零变 […]
MicroMouse | MicroMouseV2电机的选择
第一版本的MM(MicroMouse)使用的是带减速箱的N20电机。这种电机非常小巧,比130电机的体积还要小,空载转速大概50转/分钟,适合小型机器人。电机店和淘宝上很容易买到,价格大约在15-25元之间: 图1 N20直流电机 新版本的MM首先希望在电机上进行改进,备选的几个方案有: 1) 直流步进电机; 2) 直流无刷电机; 3) 直流空心杯电机。 步进电机的好处是易于控制,且不需要额外的转速反馈。缺点是速度较慢,且一旦打滑就会造成累积误差。2010年参加全国电脑鼠大赛时,赞助商周立功公 […]
MicroMouse | 一些MicroMouse的照片
一年之前我用AVR单片机设计了一台电脑鼠,时至今日这个设计已经略显过时。近日准备重新制作一个,改为32位处理器并使用无刷电机驱动,于是搜集了一些电脑鼠的设计照片,图片来源: http://www.micromouseonline.com/2012/02/14/apec-2012-mice/#axzz1oKnSyfiT