CC2530串口数据收发

发布者:乐观向前最新更新时间:2022-10-11 来源: csdn关键字:CC2530  串口  数据收发 手机看文章 扫描二维码
随时随地手机看文章

实验要求

代码实现

#include "ioCC2530.h"

 

#define D3 P1_0

#define D5 P1_3

 

//系统时钟切换函数

void Set_Clock_32M()

{

  CLKCONCMD &=~0x40;

  while(CLKCONSTA &0X40)

  {

    

  }

  CLKCONCMD &=~0x47;

}

 

//端口初始化函数

void Init_Prot()

{

//配置4个LED灯的引擎

  //选择端口的功能

  P1SEL &=~0x1B;//设置通用io端口

  //配置端口的方向

  P1DIR |=0x1B;

  //关闭LED灯

  P1 &=~0x1B;

}

 

//串口初始化函数

void Init_Uart0()

{

  //1.设置串口的引脚功能,将P0_2和P0_3设置为外设功能

  PERCFG &=~0X01;

  P0SEL |=0x0C; //0000 1100

  //2.设置串口的波特率:32M——9600

  U0BAUD = 59;

  U0GCR = 8;

  //3.设置一个UART控制寄存器 U0UCR

  U0UCR |=0x80;

  //4.设置控制与状态寄存器 U0CSR

  U0CSR |=0xc0; //1100 0000

  

  //5.清除中断标志

    //发送

    UTX0IF = 0;

    //接收

    URX0IF = 0;

  //6.使能串口数据接收完成中断和总中断

  URX0IE = 1;

  EA = 1;

}

 

//串口字节发送函数

void URD_SendByte(unsigned char dat)

{

  U0DBUF =dat;

  while(UTX0IF==0);

  UTX0IF=0;

}

 

//串口数据接受完成中断服务函数

#pragma vector = URX0_VECTOR //起始语句

//中断服务函数

__interrupt void Service_UR0Recv()

  D3=1;//收

  unsigned char temp;

  temp=U0DBUF;

  temp++;

  D5=1;//发

  URD_SendByte(temp);

   D3=0;

   D5=0;

}  

   

 

 

void main(void)

{

  Set_Clock_32M();

  //端口初始化

  Init_Prot();

  Init_Uart0();

  while(1)

  {

   

  }

}

关键字:CC2530  串口  数据收发 引用地址:CC2530串口数据收发

上一篇:CC2530串口命令控制LED灯开关
下一篇:CC2530串口数据发送

推荐阅读最新更新时间:2024-11-11 11:56

AVR 串口收发 使用循环链表实现的程序源代码
整个工程下载: http://www.rayfile.com/files/062cd042-d7a5-11df-8a51-0015c55db73d/ 关键代码: UART.h: /********** 串口收发循环链表实现 ********** * 版本.........: 1.0 * 作者.........: 陈利栋 * 目标.........: ATmega128 * 文件名.......: UART.h * 编译器.......: IAR for AVR V5.5 * 创建时间.....: 2010.10.14 * 最后修改.....: 2010.10.14 ****************************
[单片机]
AVR <font color='red'>串口</font><font color='red'>收发</font> 使用循环链表实现的程序源代码
PC和ATMEGA128串口通信
/*PC和ATMEGA128通信,ATMEGA以轮循方式发送,中断方式接受*/ #include mega128.h #define RXEN0 4 #define TXEN0 3 #define RXCIE0 7 #define UDRE0 5 #define UCSZ00 1 #define UCSZ01 2 #define UCSZ02 2 #define RXC0 7 char str ; unsigned char in; void Uar_init(void); void COM_send(void); interrupt void uart0(void) { bit flag=1; s
[单片机]
用RS485代替RS232串口通信新方法
RM(Advanced RISC Machines)是对一类微处理器的通称。ARM是微处理器行业的一家知名企业,它设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM微处理器是一种高性能、低功耗的32位微处理器,该处理器广泛应用于嵌入式系统中。ARM 9代表了ARM公司主流的处理器,已经在手持电话、机顶盒、数码相机、GPS、个人数字助理以及因特网设备等方面有了广泛的应用。在此,以ST公司生产的ARM 9系列中典型的STR912FW44X6芯片作为硬件开发平台的MCU,完成了基于ARM的太阳能发电系统中数据采集与传输系统的硬件设计,并提出了一种利用RS 485串口代替RS 232串121来进行通信的新方法。 l 硬
[嵌入式]
STM32—串口通讯详解
串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,因此大部分电子设备都支持该通讯方式,其通讯协议可分层为协议层和物理层。物理层规定通信协议中具有机械、电子功能的特性,从而确保原始数据在物理媒体的传播;协议层主要规定通讯逻辑,统一双方的数据打包、解包标准。通俗的讲物理层规定我们用嘴巴还是肢体交流,协议层规定我们用中文还是英文交流。下面分析一下串口通讯协议的物理层和协议层。 物理层 1.通讯结构 串口通讯的物理层的主要标准是RS-232标准,其规定了信号的用途、通讯接口及信号的电平标准,其通讯结构如下: 在设备内部信号是以TTL电平标准传输的,设备之间是通过RS-232电平
[单片机]
STM32—<font color='red'>串口</font>通讯详解
51单片机实现通过串口用delay延时方式发送一串数据
一、使用proteus绘制简单的电路图,用于后续仿真 二、编写程序 /******************************************************************************************************************** ---- @Project: USART ---- @File: main.c ---- @Edit: ZHQ ---- @Version: V1.0 ---- @CreationTime: 20200713 ---- @ModifiedTime: 20200713 ----
[单片机]
51单片机实现通过<font color='red'>串口</font>用delay延时方式发送一串<font color='red'>数据</font>
ARM数控系统高速处理串口数据的研究
一、 引言   现代数控加工都是先采用 CAD / CAM 软件画出零件的加工草图,然后根据草图做适当的属性设置,生成G 代码,生成G 代码之后通过某种方式将G 代码传送给数控系统进行解释转化成实际的轴运动。但是由于实际生成的G 代码数据量相对于ARM 嵌入式数控系统 存储 资源而言很大,不可能将G代码全部传给ARM数控系统 存储 起来之后再一条一条来解释、加工,因此在数据传输的过程中应该有一个流量控制的问题。虽然PC 机G 代码到ARM 数控系统代码传送方式很多,但ARM 的串口相对而言,操作方便,因此本设计采用串口来传送数据。虽然串口方便操作,但是在数据传送过程中也存在一些问题,比如说,PC 机向ARM传送9 个数据,却只收到8
[单片机]
串口修改ARM的IP地址
要修改ARM开发板的IP,如果是yaffs2文件,可以 1、首先要修改/etc/init.d/rcS文件,在/sbin/ifconfig lo 127.0.0.0 下添加一行/sbin/ifconfig eth0 192.168.1.112 up 注:192.168.1.112只是举例,可以改成你想要修改的IP地址 本来这样修改之后就可以的,但是我发现仍然不行,使用ifconfig命令,发现开发板IP地址没有被更改过来。 后来无心插柳,发现还需要修改另一处 2、修改/etc/eth0-setting 将其IP地址改成你想要设置的IP 重启开发板,使用ifconfig命令,就发现IP地址已经修改过来了
[单片机]
PIC18F452+Proteus双机通信 串口通信 键盘更改波特率源程序
系统功能 1、实现双机之间的通信 (1)在主机上通过4*4键盘上的键值“1”“2”“3”设定波特率(2400、4800、9600),发给从机,两者正常通信; (2)从机将采集到的压力信号传到主机,主机通过LCD显示在第一行,我们可以观察到主机的LCD显示的数和从机的保持一致。 (3)主机通过获取按键“5”“6”“7”,改变从机的ADC采样率分别为“10s”“20s”“30s”,由于ADC采样率不易直接观察改变,可将采样率的值通过从机的三个不同颜色的小灯显示。 2、从机通过ADC采样获取压力传感器模拟输出端口的电压值,并将电压值转化为压力值,通过自身的LCD显示; 3、主机获得从机采集的压力值之后,和初始设定的压力值(我设置
[单片机]
PIC18F452+Proteus双机通信 <font color='red'>串口</font>通信 键盘更改波特率源程序
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved