摘要:1、刚开始,我们确实需要借助官方模板,添加简单的代码,做出通信基本收发实验,建立感性的认识。 2、然后,在官方代码基本实验基础上,了解相关的概念,掌握通信过程中原理,结合自己的理解,自己动手做一个个性化实验,验证我们的理解 3、单播、广播、组播、绑定 1)单播指:在zigbee网络里,模块之间要进行
阅读全文
摘要:讲解协议栈怎么运行起来!!回顾:1.应用层是一个任务,它有一个系统分配给他的数值唯一的编号叫做任务ID 2.任务可以处理事件,处理事件的这些代码都在一个函数里,这个函数叫任务事件处理函数 3.应用层任务还有一个2个字节的变量,叫做任务事件变量; 任务事件变量和应用层定义的事件的关系,如果事件变量和某
阅读全文
摘要:1、安装协议栈软件ZStack-CC2530-2.3.0-1.4.0.exe(是TI公司的) 根据不同行业的应用发布不同的协议栈 nesh版本是这些版本的升级版 HA(home auto)是智能家庭研发人员提供开发的。 SE智能能源方面研发人员提供的。 建立自己的zstack工程: 将安装好的软件目
阅读全文
摘要:1、 2、任何一个zigbee模块要加入到某个网络,一定要有一个处于该网络里的节点作为介绍人,并且这个介绍人不能是终端节点。介绍人节点为被介绍人节点的父节点,被介绍加入的节点称为子节点。二者是父子节点关系。 3、有三个模块:A模块下载了协调器功能代码;B模块下载了路由器功能代码;C模块下载了终端功能
阅读全文
摘要:图像预览、文件回放和下载,云台控制,布防/撤防,语音对讲,日志管理,解码卡,远程升级,远程重启/关闭,格式化硬盘,参数配置(系统配置,通道配置,串口配置,报警配置,用户配置),多路解码器,智能设备功能和获取设备能力集等。 适用于但不仅限于以下产品型号: 1、编解码设备 DVR、NVR、HDVR(混合
阅读全文
摘要:1.zigbee无线通信,需要高频的载波来提供发射效率,zigbee模块之间要可以正常的收发,必须把接收频率设置和发射模块的载波频率一致。 2.zigbee有27个载波可以进行通信,载波叫做信道(无线通信的通道)。这些载波的频率落在某频率区段,我们把这些区段叫做频段。有三个频段2.4G频段(共有16
阅读全文
摘要:CC2530在正常运行的时候需要一个高频的时钟信号和一个低频的时钟信号! 高频时钟信号主要供给CPU以保证程序的正常运行。 低平时钟信号主要供给看门狗、睡眠定时器等片上外设。 高频时钟2个来源:芯片内部本来有一个16MHZ的RC振荡电路,可以外接一个32MHZ石英晶振 低频时钟信号也有2个来源:芯片
阅读全文
摘要:LWIP移植好之后,就要使用它提供的API接口来编写程序。
阅读全文
摘要:LAN8720+RJ45+MAC(STM32F4自带的)构成了网络接口层。
阅读全文
摘要:LWIP是一种TCP/IP协议栈,与嵌入式操作系统一样也提供了内存管理。 内存池里面有多个同样大小的内存,不同类型的内存池其里面的内存大小不一样。
阅读全文
摘要:LWIP支持RAW、NETCONN、SOCKET这三种编程接口,后两者必须有操作系统来支持的;LWIP带操作系统的移植很重要!!
阅读全文
摘要:STM32F4自带的MAC,而没有PHY纯模拟电路部分,没有把PHY做进STM32F4是因为会对芯片的功耗有影响,同时芯片的体积会增大等原因。 MAC与PHY的通信接口是MII以及RMII方式。 MDIO是SMI下面的一个部分。 配置的完成:MAC通过SMI对PHY进行配置。 数据交换:MAC通过M
阅读全文
摘要:外部中断配置流程 1、初始化IO口工作在普通IO、上拉输入状态。 2、首先开IO口组中断(P0IE=1、P1IE=1、P2IE=1); 3、开组内对应的具体某IO口中断(P0IEN、P1IEN、P2IEN该寄存器里面的对应位对应相应的IO口); 4、上升沿还是下降沿触发(PICTL寄存器); 本寄存
阅读全文
摘要:1、掌握zigbee无线模块的基本工作电路。 2、上面芯片跟仿真器连接需要5根线,电源、地、复位、P2_1、P2_2。 输出的配置:a、首先要让相应IO口处于普通IO口模式,非片上外设的模式;b、让普通IO口处于输出状态,非输入状态;c、直接对相应IO口赋值,就输出相应值。 使所有IO口处于输入还是
阅读全文
摘要:注册机第一个要选择: 为什么? 之前说CC2530是支持zigbee协议的无线芯片,其实它是这款硬件上有一个支持zigbee协议的无线电路,不仅有这款电路,而且还有一块cpu电路,它就是8051cpu。那么把这些电路全部封装在一起,就称为cc2530芯片。 然后选择getID,把下面的license
阅读全文
摘要:什么是zigbee? 1、它是一种通信方式,一种通信协议; 2、其作用就是构建一个类似无线局域网的东西;如果这个局域网用于传感器的数据收集、监控,那么这个网络就叫做无线传感器网络。 应用领域:家居、工业(组建网络一般使用现场总线包括can总线、485总线等)、农业、医疗等等。 3、学习zigbee不
阅读全文
摘要:为什么要看门狗? 注意:喂狗是0XAAAA写到KR。 头文件iwdg.h iwdg.c
阅读全文
摘要:1、端口复用 这些外设包括ADC,DAC以及串口等等。 查找STM32F429数据手册可以找到相关IO口的复用功能引脚。 注意:除ADC和DAC要配置成模拟通道外,其他的所有外设都要配置成复用功能。
阅读全文
摘要:RTC(Real Time Clock):实时时钟 BCD码:用4位2进制来表示10以内的十进制的形式。 RTC的时钟源:LSE(32.768KHZ)、HSE_RTC、LSI。经过一个精密校准(RTC_CALR)。再经过7位的预分频器进行分频(RTC_PRER,默认127+1=128)会产生一个ck
阅读全文
摘要:void RCC_DeInit(void) { /*Set HSION bit,内部高速时钟使能HSI振荡器打开*/ RCC->CR |=(uint32_t)0x00000001; /*Reset CFGR register, 31:30--00:选择系统时钟 (SYSCLK) 输出到 MCO2 引
阅读全文
摘要:周期由自动重装载寄存器ARR寄存器来决定的,捕获/比较寄存器CCRx来决定占空比!!! 工作过程描述:首先假设输出为向上计数,且设置CC1P位为0高电平有效,当设置为模式1,即计数器CNT的数值小于捕获比较寄存器CCR1的值时,电平输出高电平,CNT数值大于CCR1时输出低电平,使能CC1E,最后就
阅读全文
摘要:1、基本原理 三种定时器区别 通用定时器功能特点描述 在这里只用输入捕获事件也能获取脉冲个数同时可以只使用它来获取脉冲宽度,比如当捕获到上升沿,马上进入中断,把计数器的值置零,然后等待捕获下降沿的到来,记下此时的值,(当然中间有可能有多次中断,故计算脉冲时要算上),输出比较来输出PWM波形,更新来做
阅读全文
摘要:外部中断概述 STM32F4的每个IO都可以作为外部中断输入。 STM32F4的中断控制器支持22个外部中断/事件请求: 从上面可以看出,STM32F4供IO使用的中断线只有16个,但是STM32F4XX系列的IO口多达上百个,那么中断线怎么跟IO口对应呢? 可以看出GPIOx.0映射到EXTI0
阅读全文
摘要:中断类型: 1、系统异常,体现在内核水平 2、外部中断,体现在外设水平 中断编程要点: 1、使能中断请求; 使能外设某个中断,这个具体由每个外设的相关中断使能位控制。比如串口有发送完成中断,接收完成中断,这两个中断都由串口控制寄存器的相关中断使能位控制。 2、配置中断优先级分组; 初始化 NVIC_
阅读全文
摘要:RCC :reset clock control 复位和时钟控制器;特别是要着重理解时钟树,理解了时钟树,F429 的一切时钟的来龙去脉都会了如指掌。 STM32F4系列有5个时钟源: LSIRC(低速时钟32KHZ);LSEOSC(低速外部时钟32.768KHZ);HSIRC(高速内部时钟16MH
阅读全文
摘要:在了解STM32的标准库文件之后,我们就可以使用它来建立工程了,因为用库新建工程步骤较多,我们一般是使用库建立一个空的工程,作为工程模板。以后直接复制一份工程模板,在它之上进行开发。 1、新建工程 1)新建本地工程文件夹 在本地电脑上新建一个“Template”工程模板文件夹,然后在它之下新建6个文
阅读全文
摘要:1、CMSIS 标准及库层次关系 CMSIS 标准中最主要的为 CMSIS 核心层,它包括了: STM32标准库可以从官网获得; 在使用库开发时,我们需要把 libraries 目录下的库函数文件添加到工程中,并查阅库帮助文档来了解 ST 提供的库函数,这个文档说明了每一个库函数的使用方法。 这两个
阅读全文
摘要:1、什么是 STM32 函数库 以上所说的软件库是指“STM32 标准函数库”,它是由 ST公司针对 STM32提供的函数接口,即 API (Application Program Interface),开发者可调用这些函数接口来配置 STM32的寄存器,使开发人员得以脱离最底层的寄存器操作; 实际
阅读全文
摘要:最基本的输入功能是检测外部输入电平,如把 GPIO引脚连接到按键,通过电平高低区分按键是否被按下。 基本结构分析 2. P-MOS管和 N-MOS管 main.c中的main函数
阅读全文
摘要:目前学习STM32最流行的方法是使用固件库!!(暂时使用寄存器版本) systemInit函数的作用是把外部晶振经过锁相环使系统时钟变成180MHZ。(在固件库版本里面实现了的)。 可以在main.c文件里面实现systemInit函数,不过没有函数体;主要是使编译时不报错;如果我们没有实现这个函数
阅读全文
摘要:1、什么是存储器映射? 在图5-4中,连接被控总线的是FLASH,RAM和片上外设,这些功能部件共同排列在一个 4GB 的地址空间内。我们在编程的时候,操作的也正是这些功能部件。 存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,给存储器分配地址的过程就称为存储器映射。如果给存储器再分配一个
阅读全文
摘要:1、什么是STM32 A、ST是意法半导体,一个公司名,即SOC厂商,生产芯片的厂商。ARM公司是IP厂商,即只生产内核的厂商。 B、M-Microelectronics的缩写,表示微控制器,大家注意微控制器和微处理器的区别。这个叫微控制器,那么能跑Linux的叫微处理器。看带了内存管理单元(MMU
阅读全文
摘要:1、下载ST-LINK驱动ST-LINK_USB_V2_1_Driver 双击dpinst_amd64.exe来安装。 成功会显示: 2、进入MDK5里面去配置ST-LINK 通过魔术棒选项: a、Debug选项配置 b、Utilities选项配置 c、Debug Settings 选项配置 d、选
阅读全文