查看: 836|回复: 1
打印 上一主题 下一主题

CC2530 基础实验 10:片内温度

[复制链接]
跳转到指定楼层
沙发
发表于 2015-2-9 16:59:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
取片内温度传感器为 AD 源,并将转换得到温度通过串口送至电脑
实验中操作了的寄存器有 CLKCONCMD,SLEEPCMD,PERCFG,U0CSR,U0GCR,U0BAUD,
CLKCONSTA,IEN0,U0DUB,ADCCON1,ADCCON3,ADCH,ADCL 等寄存器。
void initUARTtest(void)

{
CLKCONCMD &= ~0x40;                            //晶振
while(!(SLEEPSTA & 0x40));            //等待晶振稳定
CLKCONCMD &= ~0x47;                         //TICHSPD128 分频,CLKSPD 不分频
SLEEPCMD |= 0x04;                                 //关闭不用的 RC 振荡器


PERCFG = 0x00;                             //位置 1 P0 口
P0SEL = 0x3c;                                 //P0 用作串口


U0CSR |= 0x80;                               //UART 方式


U0GCR |= 10;                                  //baud_e = 10; U0BAUD |= 216; //波特率设为 57600
UTX0IF = 1;
U0CSR |= 0X40;                              //允许接收
IEN0 |= 0x84;                                   //开总中断,接收中断

}
函数功能: 将系统时钟设为高速晶振,将 P0 口设置为串口 0 功能引脚,串口 0 使用 UART

模式,波特率设为 57600,允许接收。在使用串口之前调用。

回复

使用道具 举报

板凳
 楼主| 发表于 2015-2-9 17:01:41 | 只看该作者
void UartTX_Send_String(char *Data,int len)函数原型:

void UartTX_Send_String(char *Data,int len)

{

int j;

for(j=0;j<len;j++)


{

U0DBUF = *Data++; while(UTX0IF == 0); UTX0IF =0;
}

}
函数功能:串口发送数据,*data 为发送缓冲的指针,len 为发送数据的长度,在初始化串口
后才可以正常调用。

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

快速回复 返回顶部 返回列表