shouchengcheng
just do it

随笔分类 -  嵌入式

底层固件调试
SI4438系列模块调试
摘要:SI4438系列不同于之前的SI4432,在很多地方都发生了改变。频率范围 425-525MHz接收灵敏度 -124dBm调制方式 (G)FSK OOK最大输出功率 +20dBm低工作能耗 接收14mA传输速率 100bps~500kbps工作电压 1.8-3.6V低电压检测芯片内部温度检测主要的寄... 阅读全文
posted @ 2014-07-08 16:29 shouchengcheng 阅读(4658) 评论(0) 推荐(0)
linux驱动简易模版
摘要:#include #include #include #include MODULE_LICENSE("GPL");#define CDD_MAJOR 200//cat /proc/devices找一个尚未使用的#define CDD_MINOR 0#define CDD_COUNT ... 阅读全文
posted @ 2014-04-21 17:06 shouchengcheng 阅读(240) 评论(0) 推荐(0)
msp430f2274 汇编记录——不定期更新
摘要:从http://wenku.baidu.com/view/59fcb203a6c30c2259019ee6这里可以看到430的中断向量表是在0xffe0~0xffff中,其中0xfffe是 reset vector。所以如果是写汇编的话,一开始就是先要定义reset vector中的跳转地址。我用i... 阅读全文
posted @ 2014-04-17 14:52 shouchengcheng 阅读(436) 评论(0) 推荐(0)
MSP430+CC2500低功耗注意细节
摘要:最近在卡片测试程序,发现一颗2032的纽扣电池隔一天电压就会降差不多0.7V。耗电非常严重,关键我们这个卡片还是主推低功耗的。这要是拿出去,就是纯打脸。 于是拿示波器观察波形,做法很简单,和电池串联一个10欧姆的电阻,通过它两边的电压侧面观察整体的电流功耗。然后我就发现哪个波形是惨不忍睹,和一... 阅读全文
posted @ 2014-04-08 20:29 shouchengcheng 阅读(585) 评论(0) 推荐(0)
Linux驱动程序学习备忘之六
摘要:上层应用程序通过对节点的操作,对设备进行控制。这个节点的接口就是由字符设备驱动提供,向前面的HelloWorld驱动是没有上层操作的接口的,它仅仅只有模块加载接口和退出接口。所以也不需要对应的节点。struct file_operations这个结构体它在linux/fs.h中定义,用来存储驱动内核... 阅读全文
posted @ 2014-04-04 15:26 shouchengcheng 阅读(286) 评论(0) 推荐(0)
Linux驱动程序学习备忘之五
摘要:驱动中的内存分配#include void *kmalloc(size_t size, int flags);这个函数是内核中使用的malloc特点就是1)速度快2)不清零,分配的区仍然持有它原来的内容3)物理内存中连续4)用于分配的小内存,不能用于分配大内存5)使用kfree释放分配的内存#inc... 阅读全文
posted @ 2014-04-02 18:06 shouchengcheng 阅读(287) 评论(0) 推荐(0)
Linux驱动程序学习备忘之四
摘要:继续向后面学习,接下去要看的就是阻塞和非阻塞编程。我在书上看到这么一段程序,但我觉得好像哪里有点不对。最后看过内核源代码后才豁然开朗。主要是down_interruptible()这个函数,网上普遍的解释如下 int down_interruptible(struct semaphore *sem)... 阅读全文
posted @ 2014-04-02 15:13 shouchengcheng 阅读(357) 评论(0) 推荐(0)
Linux驱动程序学习备忘之三
摘要:##驱动程序中的并发控制##当一段驱动程序的代码同时被多个进程使用到时,这时就要考虑并发了。控制并发的最好手段就是使用信号量,即在任何一个给定的时间,只有一个可执行的线程可以执行这段代码。在Linux中这被称之为临界操作。是使用信号量和P、V操作来保护临界区的。P操作:信号量减一V操作:信号量加一其... 阅读全文
posted @ 2014-04-02 11:23 shouchengcheng 阅读(207) 评论(0) 推荐(0)
Linux驱动程序学习备忘之二
摘要:前面举了一个HelloWorld的例子。在实际字符设备驱动编写中还要加入好多东西。首先要确定的就是主设备号和次设备号主设备号用于区分是否为同一类,次设备号用于区分是否为同一个。在Documentation/devices.txt中有对预定义的设备号的说明。内核用32bit来表示设备号typedef ... 阅读全文
posted @ 2014-04-01 17:17 shouchengcheng 阅读(274) 评论(0) 推荐(0)
Linux驱动程序学习备忘之一
摘要:以前断断续续也看过一些linux驱动程序的内容,只知道这个很高深东西。也想过学习一下,但是来来回回,始终实在HelloWorld阶段,话说这个HelloWorld模块已经被我写了n遍了。汗终于我决心要系统的走一边这个流程,于是周末去图书馆借了一本讲嵌入式驱动的书,《深入浅出嵌入式底层软件开发》主要从... 阅读全文
posted @ 2014-04-01 14:39 shouchengcheng 阅读(270) 评论(0) 推荐(0)
SHT2x系列数字温湿度传感器
摘要:SHT2x系列数字温湿度传感器SHT2x系列数字温湿度传感器SHT2x系列和SHT1x系列相比电压范围缩小了(2.1~3.6V),同时功率明显比之前的系列要小。其它参数基本差不多。最大的区别就是传输模式了。比之前的要完善很多,支持标准的I2C了,调试起来更加顺手了。本着能不动手就少动手的原则,我在调... 阅读全文
posted @ 2014-01-02 17:03 shouchengcheng 阅读(1650) 评论(0) 推荐(0)
《ARM Cortex-M3权威指南》--语句摘要
摘要:Cortex-M3是一个32位处理器内核,采用的是哈佛结构。在CM3中小端模式和大端模式都是支持的。Banked R13:两个堆栈寄存器。任意时刻只能使用其中的一个。堆栈指针的最低两位永远是0,这就意味着堆栈总是4字节对齐的。凡是打断程序执行的事件,都被称为异常(exception)。除了外部中断外... 阅读全文
posted @ 2013-12-25 23:51 shouchengcheng 阅读(675) 评论(0) 推荐(0)
RT-Thread中DM9161AEP芯片调试问题
摘要:使用的是rt-thread1.0.4版本,源码下下来解压,在stm32f107vct6芯片上跑。用的是dm9161aep芯片,以RMII方式连接,通过stm32上的MCO引脚给dm9161提供50MHz的CLK信号。 将源代码中eth模式的宏定义由MII模式改为RMII模式,取消lwip的dhcp... 阅读全文
posted @ 2013-12-25 23:49 shouchengcheng 阅读(3301) 评论(0) 推荐(0)
基于msp430f149的测频程序
摘要:我主要是通过频率发生器产生固定频率,然后接在msp430f149的p1.2口(此处是TA1的捕获口,TA1开启捕获模式)。使用TB0定时,TA1采用8MHz的SCLK,TB0采用32768Hz的ACLK,定时1s,这样的话,测得的频率和实际的频率误差在个位数。当把定时用的定时器改成TA0时,测得的频... 阅读全文
posted @ 2013-12-25 23:44 shouchengcheng 阅读(959) 评论(0) 推荐(0)
ADXL345模块430中I2C部分代码
摘要:ADXL345模块是数字三轴、加速度传感器,有SPI、I2C两种方式。支持5v、3.3v供电。使用时CS端拉高(即接电源)。这个模块有点小贵要23块。提供的是51的代码(淘宝上买的基本上都是提供51的代码,要想在430上用还要自己从新移植过)。ADXL345最主要的是初始化,只要初始化好了,后面就只... 阅读全文
posted @ 2013-12-25 23:43 shouchengcheng 阅读(1057) 评论(0) 推荐(0)
nRF51822学习之SWD接线及配置
摘要:nRF51822学习之SWD接线及配置nRF51822学习之SWD接线及配置参考链接最近可穿戴设备,手机防盗设备等等比较火,基本上他们用到的都是蓝牙4.0技术。市面上基于蓝牙4.0的RF芯片有好多,比如TI的CC2540系列,Nordic的nRF51xx系列,还有。。。。(好吧,还有我也说不上名字来... 阅读全文
posted @ 2013-12-24 17:49 shouchengcheng 阅读(4475) 评论(0) 推荐(0)
SHT1x系列数字温湿度传感器调试二——CRC-8
摘要:SHT1x系列数字温湿度传感器调试二——CRC-8SHT1x系列数字温湿度传感器调试二——CRC-8此文参照Sensirion公司关于SHTxx系列温湿度中的应用笔记,对SHTxx系列中CRC运算进行解释。原文地址SHTxx系列中为了保证数据在传输过程中不发生错误,引入了CRC校验。其中它使用的多项... 阅读全文
posted @ 2013-12-24 13:38 shouchengcheng 阅读(1285) 评论(0) 推荐(0)
SHT1x系列数字温湿度传感器调试一——概述
摘要:SHT1x系列数字温湿度传感器调试一——概述SHT1x系列数字温湿度传感器调试一——概述概述SHT1x是Sensirion公司的一款温湿度传感器,是贴牌封装的,它将传感元件和信号处理电路集成在一块微型电路板上,输出的是数字信号,通过I2C总线协议进行控制,具有级高的可靠性和稳定性。14位精度识别。封... 阅读全文
posted @ 2013-12-24 11:50 shouchengcheng 阅读(2172) 评论(0) 推荐(0)
MSP430 flash 操作
摘要:msp430_info_flashMSP430的flash操作关于flash具体说明,可以参照msp430 user guide中的具体章节。介绍一般,在单片机中的flash是用于存放程序代码的,属于只读型存储器(ROM)。但是在许多单片机中内部,都会专门留有一小段flash控制区,用于存放重要的配... 阅读全文
posted @ 2013-12-12 13:46 shouchengcheng 阅读(1068) 评论(0) 推荐(0)