首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CC2530基础实验之四通道模拟量值采集

CC2530基础实验之四通道模拟量值采集

作者头像
w候人兮猗
发布2020-07-01 17:30:15
5640
发布2020-07-01 17:30:15
举报

####**基于BasicRF***

#include "hal_defs.h"
#include "hal_cc8051.h"
#include "hal_int.h"
#include "hal_mcu.h"
#include "hal_board.h"
#include "hal_led.h"
#include "hal_rf.h"
#include "basic_rf.h"
#include "hal_uart.h" 
#include <stdio.h>
#include <string.h>
#include <stdarg.h>


uint16 count = 0;   //设置定时器溢出次数
uint8 four_value[12];
uint8 buf[8];
uint8 IN1H,IN1L,IN2H,IN2L,IN3H,IN3L,IN4H,IN4L;

#define MAX_SEND_BUF_LEN  128
#define MAX_RECV_BUF_LEN  128
static uint8 pTxData[MAX_SEND_BUF_LEN]; //定义无线发送缓冲区的大小
static uint8 pRxData[MAX_RECV_BUF_LEN]; //定义无线接收缓冲区的大小

#define MAX_UART_SEND_BUF_LEN  128
#define MAX_UART_RECV_BUF_LEN  128
uint8 uTxData[MAX_UART_SEND_BUF_LEN]; //定义串口发送缓冲区的大小
uint8 uRxData[MAX_UART_RECV_BUF_LEN]; //定义串口接收缓冲区的大小
uint16 uTxlen = 0;
uint16 uRxlen = 0;

/*****点对点通讯地址设置******/
#define RF_CHANNEL                20         // 频道 11~26
#define PAN_ID                    0x1A5B     //网络id 
#define MY_ADDR                   0x2017     // 本机模块地址
#define SEND_ADDR                 0x2016     //发送地址
/**************************************************/
static basicRfCfg_t basicRfConfig;

// 无线RF初始化
void ConfigRf_Init(void)
{
    basicRfConfig.panId       =   PAN_ID;        //zigbee的ID号设置
    basicRfConfig.channel     =   RF_CHANNEL;    //zigbee的频道设置
    basicRfConfig.myAddr      =   MY_ADDR;   //设置本机地址
    basicRfConfig.ackRequest  =   TRUE;          //应答信号
    while(basicRfInit(&basicRfConfig) == FAILED); //检测zigbee的参数是否配置成功
    basicRfReceiveOn();                // 打开RF
}

void init_T1()
{
  CLKCONCMD &=~0X40;
  while(CLKCONSTA &=0X40);
  CLKCONCMD &=0X47;
  T1CTL|=0X05;
  IEN1 |=0X02;
  EA=1;
}

#pragma vector=T1_VECTOR
__interrupt void T1_ISR()
{
  count++;
  if(count==60)
  {

    get_4channel_ad(buf);

    IN1L=buf[0];
    IN1H=buf[1];
    IN2L=buf[2];
    IN2H=buf[3];
    IN3L=buf[4];
    IN3H=buf[5];
    IN4L=buf[6];
    IN4H=buf[7];


    four_value[0]=0xfb;
    four_value[1]=0xfa;
    four_value[2]=0x0c;
    four_value[3]=0x01;

    four_value[4]=IN1L;
    four_value[5]=IN1H;
    four_value[6]=IN2L;
    four_value[7]=IN2H;
    four_value[8]=IN3L;
    four_value[9]=IN3H;
    four_value[10]=IN4L;
    four_value[11]=IN4H;

    halUartWrite(four_value,12);
    basicRfSendPacket(SEND_ADDR,four_value, 12);
    count=0;
  }
  T1IF=0;
}

void main(void)
{

    halBoardInit();  //模块相关资源的初始化
    ConfigRf_Init(); //无线收发参数的配置初始化 
    init_T1();

    while(1)
    {


    }
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年3月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档