- 博客(17)
- 资源 (8)
- 收藏
- 关注
原创 谈谈OSAL
Z-Stack1.4.3及以后的版本中引入了一个OSAL(Operating System Abstraction Layer 操作系统抽象层)但在我们整个的ZigBee协议栈的结构图中我并没有能够发现这个层在哪个位置。但是整个的协议栈都要在OS的基础上才能运行。OSAL和我们通常所说的RTOSpc上的操作系统还是有很大的不同ZigBee2006中只是利用了操作系统的概念和思想利用OS把
2013-01-04 09:53:49 2697
原创 关于数据存储的一个故事
今天听了北邮的杨鸿文老师关于通信原理的讲座,第一眼看去我觉得他至少有60岁了,之后上网查了一下,发现他1964年出生,今年只有48岁,看来他太认真工作了!在努力学习工作的同时也要是适当的给自己放假,休息。 讲座上他讲了一个关于存储的一个小故事。说有一个外星人来到地球访问参观,参观完了之后,想拷点资料回去,于是他来到大英博物馆,想把里面的所有图书和视频资料都复制一份回去,他是怎么做的呢
2012-12-06 15:57:54 663
原创 cc2430 外部中断
cc2430的中断设置有很多。来看外部中断应该如何设置。 板子的按键S1连接在P0.1口,使能这个中断要有3步操作: 1,开总中断。IEN0_EAL位置一。 2,开P0口中断。IEN1_P0IE位置一。 3,开P0口的P0.1的中断。PICTL_P0IENL位置一(该位置一实际上开了P0_0到P0_3的中断) 中断标志位对应的有两个: P
2012-11-25 19:23:16 1402
原创 zstack IAR版本对应问题 及2430时钟源的问题
现在一般碰到的zstack版本一般有ZStack-1.4.2-1.1.0及ZStack-1.4.3-1.2.0,它们大同小异,只是有很少的函数在名称和形式上有点不同。 一般来说,EW8051-EV-720H版本的IAR支持ZStack-1.4.2-1.1.0,而EW8051-EV-730B版本的IAR支持ZStack-1.4.3-1.2.0。 而EW8051-EV-720H和E
2012-11-25 14:13:02 1871
原创 ARM STM32F中ADC中 规则通道 注入通道 序列寄存器(SQR JSQR)的使用方法
STM32F中的ADC是十分强大的,使用方法多,寄存器多,操作也复杂。下面就来看看ADC中规则通道,注入通道及序列寄存器(SQR JSQR)到底该如何使用。 第一,看看规则通道与注入通道的区别 可以看到,我们常规的使用是规则通道,当有有一个触发来个,就执行注入通道,注入通道好比“紧急通道”。 一个不太恰当的比喻是规则通道组的转换好比是程序的正常执行而注入通
2012-11-22 21:28:28 15621 2
原创 zstack中 DB与EB 评估板与开发板 的区别
今天在做最简单的测温实验,首先下的是DB文件,发现无论如何串口上都没有温度显示,后来下EB文件,正常工作。 在网上查了查关于DB 与EB 的区别: 两者的英文全称为: DB:Development Board(开发板) EB:uation Board(评估板) 因此主要是区分TI/CHIPCON不同硬件而设,由于硬件不一样,那么在程序中与硬
2012-11-15 21:28:04 2588
原创 ARM课程实验二 UART 串口通信实验
本实验要完成的内容是:通过UART接口将分秒位显示在PC机上,并且通过键盘设置分秒位。应该看到1234567890123...效果。 PA_9和PA_10分别作为输出和输入脚即TX1和RX1。如图是连接图: 主函数如下:// 定义定时器寄存器地址 #define SysTick_CTRL (*(volatile unsigned long *) (0xE000
2012-10-12 21:10:46 4283
原创 ARM课程实验一 普通流水灯控制及systick中断
这学期选了arm嵌入式作为选修课,既然选了就要好好学。之前有听说郭老师的课很难通过,上了两次课发现,这位老师确实是对学生太严格,都有点不近人情!好吧,为了顺利拿到学分,认真学吧。 这个是最简单的实验,流水灯,实验效果是四个led流水显示,另外两个按键控制流水灯的方向。 芯片使用的是STM32F103RB。 基本流程是:1.使用系统嘀嗒定时器进行定时处理,SysTick_CTRL
2012-10-05 18:18:28 2393
原创 阅读优秀代码是提高开发人员修为的一种捷径(转载)
原文作者Alan Skorkin是一名软件开发人员,他在博客中分享对软件开发相关的心得,其中有很多优秀的文章,本文是其中的另一篇。Alan认为:阅读优秀代码是提高开发人员修为的一种捷径。以下是全文。我突然想起来,很多程序员都讨厌阅读代码。来吧,承认吧! 每个人都喜欢编写代码,编代码是件趣事。 另一方面,阅读代码也不容易。 不仅不容易(编注:参见《微软资深软件工程师:阅读代码不容易》), 而且还
2012-10-02 17:42:18 1306
原创 CC2430 RNG改进
首先,要产生随机数,必须先给它提供一个名为“种子”的初始值。而且这个值最好是随机的,至少是伪随机的。在这里使用中频ADC采样随机的RF接收信号作为做种子。 注意到,播种的过程中,将16位的种子分两次写入RNDL,高字节将自动移入RNDH,此过程即完成播种。若往RNDH中写值时,会触发计算CRC16,所以在这里不能对RNDH赋值。 所以我认为《Zigbee技术实践教程》上给的程序
2012-10-02 17:20:27 6311
原创 CC2430 串口通信UART
CC2430有两个串行通信接口USART0和USART1,本实验采用第一个接口。要实现的功能是在超级终端发送数据到开发板,并且在lcd上显示。 那么,此实验中UART中主要用的是接受功能。当U0CSR.RE=1时,在UART上数据接收就开始了。然后UART会在输入引脚中寻找有效起始位,并且设置U0CSR.ACTIVE位为1,表明UART处于忙状态。当检测到有效起始位时,收到的字节就传入接
2012-10-01 17:47:56 2341
原创 lcdUpdateSymbol函数分析
在ADC连续采样实验中,在lcd屏上要显示电压坐标,原程序是用void lcdUpdateSymbol(UINT8 line, UINT8 position, char c)函数来实现的 如下: lcdUpdateSymbol(LINE1, 4, 128); lcdUpdateSymbol(LINE2, 4, 128);会输出如下:
2012-09-28 10:37:16 597
原创 CC2430 ADC单次采样
这个实验利用电位器作为模拟输入,ADC进行单次采样,将得到的值和对应的ADC转换数值显示在ADC上,同时让红灯和绿灯闪烁,采样值越大闪烁频率越大。 主函数如下:void main(void){ INT8 adc_value; UINT8 potVoltage = 0; BOOL updateLCD = TRUE; initLcd(); init
2012-09-24 16:56:02 1954
原创 cc2430 DMA及IRQMASK问题解析
DMA即direct memory access的缩写,即“直接内存存取”。它有什么用呢?它可以不通过cpu来将一个储存空间的数据转移到另一个储存空间,从而大大的降低了系统的负担,让cpu可以执行其他的操作。这对于嵌入式系统来说是很重要的。 这个实验就是要将一个存在sorcestring[]中的字符串“this is a test string used to demonstrate D
2012-09-23 19:38:25 1316
原创 学习方法
怎么才能快速的扎实的学习cc2430呢? 我觉的每做一个实验都要把自己的心得体会写下来,就算没有什么心得,也要把它的大概原理,运行方式用自己的话说出来。每做一个,就发一篇博客,给自己看!
2012-09-23 17:26:28 338
原创 2012国际通信展
今天是中国国际信息通信展览的最后一天,去逛了一圈,作为一个菜鸟,只能是看看新奇了。 中国移动和联通的展台,都有一个叫做全息成像的展示,一块玻璃里面什么也没有,但是你看见去会有动态的演示十分逼真,三个侧面看的完全一样,这东西感觉不错。 整个1号馆,感觉都在大力的宣传移动互联,物联网,有的还提出智慧城市这个概念,不过展示的都仅仅是一些模型,并没有实物展出,看来有很大的发展空间,爱立
2012-09-22 18:22:32 398
原创 CC2430 joystick ok键及方向键改进
我是参考《Zigbee技术实践教程----基于CC2430/31的无线传感器网络解决方案》中的实验例程,在做joystick实验的时候,将程序下进去之后,发现按下ok键led并没有预期的那样全亮,并且上下左右四个键反映十分迟钝。 在网上参考一些资料之后,发现原书的例程main函数中没有INIT_BUTTON();和 INIT_JOYSTICK_PUSH();这两个初始化的函数,导致ok键
2012-09-20 16:49:49 984
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人