資源簡介
使用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?<??????????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
- 上一篇:getopt.h 頭文件
- 下一篇:rs編解碼.c rs糾錯碼
評論
共有 條評論