基于cc2530的iar开发环境,串口助手发送命令控制LED亮灭别返回字符
时间: 2024-05-03 21:18:16 浏览: 116
以下是基于cc2530的iar开发环境,控制LED亮灭不返回字符的代码示例:
```
#include "ioCC2530.h"
#define LED P1_0
void initUART()
{
// 设置P0_2和P0_3为外设功能,即串口0的RX和TX引脚
PERCFG |= 0x01;
P0SEL |= 0x0C;
// 设置波特率为9600
U0BAUD = 0x34;
U0GCR = 0x08;
U0UCR = 0x80;
}
void sendByteUART(uint8_t byte)
{
// 等待上一次发送完成
while(!(U0CSR & 0x02));
// 发送数据
U0DBUF = byte;
}
void main()
{
// 初始化LED
LED = 0;
P1SEL &= ~0x01;
P1DIR |= 0x01;
// 初始化串口
initUART();
// 循环等待接收到字符
while(1) {
// 如果接收到字符'L',则点亮LED
if(U0CSR & 0x04 && U0DBUF == 'L') {
LED = 1;
}
// 如果接收到字符'D',则熄灭LED
if(U0CSR & 0x04 && U0DBUF == 'D') {
LED = 0;
}
}
}
```
在此代码中,我们首先定义了LED引脚所在的变量,然后编写了初始化串口的代码。在`sendByteUART`函数中,我们向串口发送一个字节的数据。在`main`函数中,我们初始化LED引脚并循环等待接收字符。当接收到字符'L'时,我们点亮LED;当接收到字符'D'时,我们熄灭LED。注意,此代码不会返回任何字符,因为我们只是通过串口接收命令,而不是通过串口发送数据。
阅读全文