• 大小: 34KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-15
  • 语言: C/C++
  • 标签: cc2530  IAR  

资源简介

使用C语言编写的,用来测试cc2530单片机测光功能的代码,需使用IAR来打开,单片机需连接光敏传感器模块,使用串口调试助手调试。

资源截图

代码片段和文件信息

#include “ioCC2530.h“
#include “stdio.h“

#define uint16 unsigned int
#define uint8 unsigned char

#define ADC_CHNN    0x05  //选用通道5

/********************************************************
 * @brief   延时
 *
 * @param   n - 延时长度 = n * 0.2 ms, 不准确
********************************************************/
void Delay(uint16 n)
{
uint16 i;
for(i=0;i for(i=0;i for(i=0;i for(i=0;i for(i=0;i}

/********************************************************
 * @brief   初始化UART
********************************************************/
void InitUART0(void)
{
PERCFG = 0x00; //位置1 P0口
P0SEL = 0x3c; //P0用作串口

P2DIR &= ~0XC0;         //P0优先作为UART0    
        U0CSR |= 0x80;    //串口设置为UART方式
        U0GCR |= 9;
        U0BAUD |= 59; //波特率设为19200

UTX0IF = 1;            //UART0 TX中断标志初始置位1  
        U0CSR |= 0X40;         //允许接收
        IEN0 |= 0x84;       //开总中断,接收中断
}

/***********************************************
 * @brief   初始化系统时钟,并且将其设置为32M
***********************************************/
void InitClock(void)
{
    CLKCONCMD = 0x28;           //时器计数时钟设定为1M Hz  系统时钟设定为32 MHz 
    while(CLKCONSTA & 0x40);    //等晶振稳定
}

/********************************************************
 * @brief   UART发送数据
 *
 * @param   Data - 数据指针
 *          len - 数据长度
********************************************************/
void UartTX_Send_String(char *Dataint len)
{
  int j;
  for(j=0;j  {
    U0DBUF = *Data++;
    while(UTX0IF == 0);
    UTX0IF = 0;
  }
//     U0DBUF = ‘\n‘;        // 换行
//    while(UTX0IF == 0);
//      UTX0IF = 0;
}

/********************************************************
 * @brief   读取ADC的值
********************************************************/
static uint16 readAdc(uint8 channal)
{
          uint16 value ; 
          APCFG |= 1 << channal ; // 模拟信号设置
          ADCIF = 0 ;
         
          ADCCON3 = channal;          
          while ( !ADCIF ) ;  //等待转换完成
          
          value = ADCL ;
          value |= ((uint16) ADCH) << 8 ;
          value>>=2;
          return value; 
}

/****************************************************************
 * main函数
*/
void main(void)
{

  char str[16]; 
  InitClock();
  InitUART0();
        
  while (1)
  {

    uint16 AvgValue = 0;
    AvgValue = readAdc(ADC_CHNN);  
    sprintf(str “%d\n“ 8191-AvgValue);
    UartTX_Send_String(str 6);    // UART发送ADC      
    Delay(50000); // 延时1s
  }
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-07-21 11:48  cc2530连接光敏传感器测试代码\
     目录           0  2018-06-05 19:52  cc2530连接光敏传感器测试代码\Debug\
     目录           0  2018-06-05 19:52  cc2530连接光敏传感器测试代码\Debug\Exe\
     文件      102797  2018-06-28 16:12  cc2530连接光敏传感器测试代码\Debug\Exe\light.d51
     目录           0  2018-06-05 19:52  cc2530连接光敏传感器测试代码\Debug\List\
     目录           0  2018-07-21 11:48  cc2530连接光敏传感器测试代码\Debug\Obj\
     文件         129  2018-07-21 11:48  cc2530连接光敏传感器测试代码\Debug\Obj\light.pbd
     文件       15496  2018-06-28 16:12  cc2530连接光敏传感器测试代码\Debug\Obj\light.r51
     文件        2685  2018-06-28 16:12  cc2530连接光敏传感器测试代码\light.c
     文件        2134  2018-07-21 11:48  cc2530连接光敏传感器测试代码\light.dep
     文件       34306  2018-06-05 19:52  cc2530连接光敏传感器测试代码\light.ewd
     文件       56109  2018-06-05 19:52  cc2530连接光敏传感器测试代码\light.ewp
     目录           0  2018-06-05 20:16  cc2530连接光敏传感器测试代码\settings\
     文件        1521  2018-07-21 11:48  cc2530连接光敏传感器测试代码\settings\light.cspy.bat
     文件        3661  2018-07-21 11:48  cc2530连接光敏传感器测试代码\settings\light.dbgdt
     文件         809  2018-07-21 11:48  cc2530连接光敏传感器测试代码\settings\light.dni
     文件        2630  2018-07-21 11:48  cc2530连接光敏传感器测试代码\settings\test.wsdt
     文件         159  2018-06-05 19:52  cc2530连接光敏传感器测试代码\test.eww

评论

共有 条评论