基于ZigBee技术的电量数据传输系统(2)
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:
蒋老师联系QQ:
刘老师联系QQ:
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《课程教育研究》 旬刊 国家级
- 《网络空间安全》(信息安全与技术)月刊 国
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《高教论坛》 月刊 省级
- 《法制与社会》旬刊 省级
- 《中国教育学刊》月刊 14版北大核心
- 《语文建设》 旬刊 14版北大核心
- 《中国绿色画报》 月刊 国家级
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《财会月刊》旬刊 14版北大核心
- 《艺术品鉴》 月刊 省级
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《教学与管理》旬刊 北大核心
- 《当代经济》 旬刊 省级
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《文教资料》 旬刊 省级
- 《学术界》 月刊 双核心
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《中国农业资源与区划》 月刊 14版北大核心
- 《继续教育研究》月刊 北大核心期刊
- 《财经界(学术版)》半月刊 国家级
- 《电影评介》半月刊 14版北大核心
- 《公路交通科技》 月刊 北大核心
- 《新闻传播》月刊 省级 新闻类优秀期刊