OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6104|回复: 9

怎么通过串口调试助手点亮开发板上的LED呢

[复制链接]

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
发表于 2014-11-15 20:17:53 | 显示全部楼层 |阅读模式
5金钱
怎么通过串口调试助手点亮开发板上的LED呢?比如说 让串口助手发送RON,就点亮开发板的红色LED,大伙谁有类似的程序,让我这个菜鸟学习一下啊?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-15 21:12:31 | 显示全部楼层
这个很简单了,学会我们的串口实验就差不多了,加个字符串对比即可。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
 楼主| 发表于 2014-11-15 22:26:40 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子大哥,能不能给我敲打几句相应的程序,我写的
                    for(t=0;t<len;t++)
{
USART1->DR=USART_RX_BUF[t];
if(USART_RX_BUF[t]==string1[t])
while((USART1->SR&0X40)==0);
GON;
delay_ms(500);
GOFF;
}
不好使,我把上面的if语句换成if(strcmp(USART_RX_BUF[t],string1[t])==0)也不行,我加入string.h,也报错
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13135
金钱
13135
注册时间
2012-11-26
在线时间
3814 小时
发表于 2014-11-15 22:47:36 | 显示全部楼层
回复【3楼】笨笨的小马驹爱奔跑:
---------------------------------
会串口通信的话 

很简单  不过是判断收到的是什么  再去执行
学无止境
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-15 23:00:29 | 显示全部楼层
回复【3楼】笨笨的小马驹爱奔跑:
---------------------------------
没有时间,这种简单的问题,必须自己学会去解决。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
 楼主| 发表于 2014-11-16 20:22:25 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
??
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-16 20:35:52 | 显示全部楼层
回复【6楼】笨笨的小马驹爱奔跑:
---------------------------------
不用?号了,你这个是很简单的字符串对比而已,不存在什么难度。
如果搞不出来就恶补C语言。
所以我让你当练习题,自己解决,不要把菜鸟当自己懒惰的挡箭牌。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

23

主题

78

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2014-10-18
在线时间
1 小时
 楼主| 发表于 2014-11-19 22:15:39 | 显示全部楼层
回复【7楼】正点原子:
---------------------------------
我写出来了,就是几个if语句,我在你们的程序上修改的,但是现在有一个错误,我真的没有任何思路去解决她,就是GOFF,或者ROFF等四位的数据后,就接收不到GON,RON等三位的数据。反过来,先发三位的,再发四位的是能够正常接收的。不知道是什么原因,能不能给个思路,谢谢
while(1)
{
if(USART_RX_STA&0x8000) //?????ê??
{    
len=USART_RX_STA&0x3FFF;//???????????????????¤??
printf("\r\n?ú·???????????:\r\n\r\n");
////?¨??for???·??°??????????????????????ú????
for(t=0;t<len;t++)
{
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);//????·????á??
}
printf("\r\n\r\n");///????????
if((USART_RX_BUF[0]=='G')&&(USART_RX_BUF[1]=='O')&&(USART_RX_BUF[2]=='N')&&(USART_RX_BUF[3]=='\0'))
{
GON;
printf("??????");
}else
if((USART_RX_BUF[0]=='G')&&(USART_RX_BUF[1]=='O')&&(USART_RX_BUF[2]=='F')&&(USART_RX_BUF[3]=='F')&&(USART_RX_BUF[4]=='\0'))
{
GOFF;
printf("????????????");
}else
if((USART_RX_BUF[0]=='R')&&(USART_RX_BUF[1]=='O')&&(USART_RX_BUF[2]=='N')&&(USART_RX_BUF[3]=='\0'))
{
RON;
printf("?ì????");
}else
if((USART_RX_BUF[0]=='R')&&(USART_RX_BUF[1]=='O')&&(USART_RX_BUF[2]=='F')&&(USART_RX_BUF[3]=='F')&&(USART_RX_BUF[4]=='\0'))
{
ROFF;
printf("?ì??????????\r\n");
}else
if((USART_RX_BUF[0]=='H')&&(USART_RX_BUF[1]=='E')&&(USART_RX_BUF[2]=='L')&&(USART_RX_BUF[3]=='P')&&(USART_RX_BUF[4]=='\0'))
{
BEEP=!BEEP;
printf("/*/*/*/*HELP Information*/*/*/*/*/*/\r\n");
printf("\"GON\"??????\r\n");
printf("\"RON\"?ì????\r\n");
printf("\"GOFF\"??????\r\n");
printf("\"ROFF\"?ì????\r\n");
printf("\"HELP\"????°??ú????\r\n");
printf("/*/*/*/*/*END Information*/*/*/*/*/*/\r\n");
}else
{
printf("ERROR Command!!\r\n");
printf("lease Input \"HELP\"For More Infoemation!!\r\n");
}
USART_RX_STA=0;
}else
{
times++;
if(times%50000==0)
{
printf("\r\nPlease Input Command!\r\n");

}
delay_ms(10);   
}
}
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-11-20 00:09:35 | 显示全部楼层
你接受完后,添加结束符,这个问题就自然而然解决了。
或者用完后,将数组里面的数据清零。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2014-9-28
在线时间
0 小时
发表于 2014-12-6 23:22:25 | 显示全部楼层
W回复【8楼】笨笨的小马驹爱奔跑:
---------------------------------
我怎么是先发4位可以,发完4为再发3位就不行了,倒过来就没问题了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-28 04:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表