实验报告-实验一IAR串口通信
以下是为大家整理的实验报告-实验一IAR串口通信的相关范文,本文关键词为实验,报告,IAR,串口,通信,实验,平台,使用,串口,通信,您可以从右上方搜索框检索更多相关文章,如果您觉得有用,请继续关注我们并推荐给您的好友,您可以在综合文库中查看更多范文。
实验一平台使用及串口通信
本次实验报告在下课后3天内上交!一、实验目的
(1)了解物联网实验
(2)箱熟悉IAR开发平台
(3)能够读懂原理图中有关传感器的接口电路(4)能够建工程项目并编写程序(5)掌握串口通信
二、实验设备
仿真器1台,gec_cc2530板1块,usb连接线1根。
三、实验内容
使用cc2530通过uART接收控制命令,完成LeD的控制。
四、实验代码
完善红色注释部分代码:
#include#include
#defineuintunsignedint#defineucharunsignedchar
#defineRLeDp1_0#definegLeDp1_1#defineYLeDp1_4
voidinituART0(void);
ucharRecdata[3]=%ucharRxTxflag=1;
uchartemp;
uintdatanumber=0;uintstringlen;
/*******************************@brief串口(uART0)初始化******************************/voidinituART0(void){
cLKconcmD//设置系统时钟源为32mhZ晶振while(cLKconsTA//等待晶振稳定
cLKconcmD//设置系统主时钟频率为32mhZpeRcFg=0x00;//位置1p0口p0seL=0x3c;//p0用作串口
p2DIR//p0优先作为uART0u0csR|=0x80;//串口设置为uART方式u0gcR|=9;
u0bAuD|=59;//波特率设为19200
uTx0IF=1;//uART0Tx中断标志初始置位1u0csR|=0x40;//允许接收Ien0|=0x84;//开总中断,接收中断}
/*****************************@brief初始化LeDIo口****************************/voidInit_LeD_Io(void){
p1DIR=0x13;//p1.0p1.1p1.4为输出RLeD=1;//熄灯YLeD=1;gLeD=1;} /**********************@brief主函数
*********************/voidmain(void){
uchari;
Init_LeD_Io();inituART0();
while(1)
2
{
if(RxTxflag==1)//接收状态{
if(temp!=0){
if((temp!='#')
elseRxTxflag=3;//进入改变小灯的程序
if(datanumber==3)RxTxflag=3;temp=0;}//endif}//endif
if(RxTxflag==3){
switch(Recdata[0]){
case'R':
RLeD=Recdata[1]=='0';//在此,低电平有效break;case'g':
gLeD=Recdata[1]=='0';break;case'Y':
YLeD=Recdata[1]=='0';break;case'A':
RLeD=gLeD=YLeD=Recdata[1]=='0';break;}
RxTxflag=1;
for(i=0;i datanumber=0;//指针归0}}//while}
/********************************************************** *******@brief串口接收一个字符:
*一旦有数据从串口传至cc2530,则进入中断,*将接收到的数据赋值给变量temp.
*********************************************************** *****/
3
#pragmavector=uRx0_VecToR__interruptvoiduART0_IsR(void){uRx0IF=0;
//清中断标志
temp=u0DbuF;//接收到的数据放进变量temp}
五、实验心得
很多东西都忘了,现在再做感到很陌生,勉强做好。
4
最后,小编希望文章对您有所帮助,如果有不周到的地方请多谅解,更多相关的文章正在创作中,希望您定期关注。
谢谢支持!。