Uart最常见的应用就是系统和用户之间的串口交互,下面的代码就可以实现通过发送串口命令控制led的效果。
#include "mbed.h"
#include "ctype.h"
DigitalOut led1(PTB7);
DigitalOut led2(PTB6);
DigitalOut led3(PTB5);
DigitalOut led4(PTB4);
DigitalOut led[4] =
{
led1, led2, led3, led4
};
Serial pc(PTC15, PTC14);
char cmd;
char lednumber;
int main()
{
pc.baud(115200);
while (1)
{
pc.printf("Please send you command as T1(2,3,4):rn");
while (1)
{
cmd=pc.getc();
if (cmd!= \' \')
break;
}
while (1)
{
lednumber=pc.getc();
if (lednumber!= \' \')
break;
}
while (pc.getc()!=\'n\')
;
while (pc.readable())
pc.getc();
cmd=toupper(cmd);
int ledindex=lednumber-\'0\';
switch(cmd)
{
case\'T\':
led[ledindex-1]=!led[ledindex-1];
break;
}
}
}
通过串口发送T1,则LED1反转,其他同理。
|