期刊库

教育   经济   科技   财会   管理   
医学   法学   文史   工业   建筑   
农学   水利   计算机   更多>>
 首 页    论文大全   论文精品    学术答疑    论文检测    出书咨询    服务流程    诚信通道    关于我们 

基于ZigBee技术的电量数据传输系统(2)

人气指数: 发布时间:2014-02-14 16:18  来源:http://www.zgqkk.com  作者: 蒋志敏等
分享到:

 

  3软件设计

  软件设计包括计量模块SPI接口的数据写入和输出、CC2530模块数据接收和发送、CC2530与上位机通信。软件设计流程图如图6所示。

  3.1SPI接口的数据写入

  SPI接入口程序是在VC++环境中编译的。在软件设计的过程中需要考虑占空比、频率、波特率等因素。为了使计量更精准,选择24.576MHz的晶振,任一次写操作约5μs。具体流程图如图6所示。

  SPI接口写入程序:

  WriteSpi(comdata)

  {

  ;EnableSPI

  CS=1;//初始CS为高电平

  SCLK=0;//初始SCLK为低电平

  CS=0;//CS变为低电平

  ;Send8bitsCommandtoSPI

  //把8个比特的命令输入SPI

  for(n=7;n>=0;n--)//经过32个时钟脉

  冲CS由低到高完成

  SPI的写入

  {

  SCLK=1;

  DIN=Com.n;

  Nop

  Nop

  Nop

  SCLK=0;

  }

  ;DisableSPI

  CS=1;//CS为高电平SPI停止写入

  }

  SPI接口与CC2530ZigBee模块连接,把采集到的数据发送给CC2530协调器模块,ZigBee自带协议栈,协议定义了一系列的通信标准,通信双方按照这一标准进行正常的数据收发。对于使用者来说,只需要对应用层进行C语言程序开发实现所需要的功能即可。

  3.2串口收发数据程序

  串口是开发板和上位机交互的重要工具,ZigBee协议栈中对串口初始化所需要的函数进行了定义。使用串口的基本步骤有两步:第一是初始化串口,包括设置波特率、中断等;第二则是向发送缓冲区发送数据或接收数据。下面是其中的主要程序:

  voidSerialApp_Init(uint8task_id)

  {

  ……

  uartConfig.callBackFunc=SerialApp_CallBack;

  //调用SerialApp_CallBack函数,对串口内容进行查询

  ……

  if((event&(HAL_UART_RX_FULL|HAL_UART_RX_ABOUT_FULL|HAL_UART_RX_TIMEOUT))&&

  #if(SERIAL_APP_LOOPBACK

  (SerialApp_TxLen<SERIAL_APP_TX_MAX))

  #else

  !SerialApp_TxLen)

  #endif

  {

  SerialApp_Send();


期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
  本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。


  【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

 
QQ在线咨询
投稿辅导热线:
180-1501-6272
微信号咨询:
fabiaoba-com
咨询电话:18015016272 投稿邮箱:zgqkk365#126.com(#换成@)
本站郑重声明:文章只代表作者观点, 并不意味着本站认同。所载文章、数据仅供参考,使用前请核实,风险自负。
部分作品系转载,版权归原作者或相应的机构   若某篇作品侵犯您的权利,请来信告知.版权:周口博闻教育咨询有限公司 
Copyright © 2005-2023 . 期刊库 版权所有