CC2530————与串口助手交互实现控制LED灯
#include<iocc2530.h>#include<string.h>#define uchar unsigned char#define uint unsigned int#define LED1 P1_0#define LED2 P1_5#define LED3 P1_4#define LED4 P1_3uchar c;uchar temp;uchar Data[
·
宏定义与预处理
#include<iocc2530.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned int
#define LED1 P1_0
#define LED2 P1_5
#define LED3 P1_4
#define LED4 P1_3
uchar c;
uchar temp;
uchar Data[30]={0};
uint count=0;
初始化引脚
void Init_LED()
{
P1SEL &=~0X39;
P1DIR |= 0X39;
P1 &=~ 0X39;
}
初始化串口
void Init_UART()
{
CLKCONCMD &= 0x80;
U0CSR |= 0X80;
P0SEL |= 0X0C;
U0GCR =10;
U0BAUD =216;
U0CSR |= 0X40;
URX0IF = 0;
UTX0IF = 0;
IEN0 |= 0X84;
}
串口数据控件led灯
void UART_Control_Led()
{
if(Data[0]=='d'||Data[0]=='A')
{
if(Data[0]=='d')
{
if(Data[1]=='1')
LED1 =1;
else if(Data[1]=='2')
LED2 =1;
else
LED1=LED2=LED3=LED4=0;
}
if(Data[0]=='A')
{
if(Data[1]=='0')
LED1 = LED2 = 1;
else if(Data[1]=='1')
LED1 = LED2 = 0;
else
LED1=LED2=LED3=LED4=0;
}
}
}
数据
void Send_Data(uchar *Data,uint len)
{
int j;
for(j=0;j<len;j++)
{
U0DBUF = *Data++;
while(UTX0IF == 0);
UTX0IF = 0;
}
UART_Control_Led();
}
中断
#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR(void)
{
URX0IF=0;
temp = U0DBUF;
if((temp != '#')&& count < 30)
{
Data[count++]=temp;
temp=0;
}
else
Send_Data(Data,count);
}
主函数
main()
{
Init_LED();
Init_UART();
while(1)
{
}
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)