OpenEdv-开源电子网

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

串口求助---程序

[复制链接]

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
发表于 2014-11-19 13:53:05 | 显示全部楼层 |阅读模式
5金钱
上位机发送PE10\PE20\PE30然后回车。
STM32怎么解析,程序怎么写?
我的意思就是上位机连续发送PE10\PE20\PE30,分别控制PE1、PE2、PE3端口,是端口置低。也就是上位要控制STM32的端口,现在就是苦于怎么判断那个‘|‘怎么分别把数据分开。单个的控制是没问题的。
请原子哥帮忙帮忙。。。。。

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

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-11-19 15:09:49 | 显示全部楼层
假如收到的数据存在table【3】中
if(table[0] == E10 && table[1] == E20 && table[30] == E30)
{
      E1 = 0;          //PE1是配置好的引脚
      E2 = 0;
      E3 = 0;
}
else if(...)
{
      ......
}
不知道是不是要这样的效果,或者你单个比较,比较三次更省事,至于说的判断“|”就不知道什么意思了
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
 楼主| 发表于 2014-11-19 15:17:57 | 显示全部楼层
回复【2楼】龙之谷:
---------------------------------
谢谢,问题是一起来的三个,怎么分别放在table里呢?中间那个是’\‘,不好意思。打错了
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-11-19 15:24:02 | 显示全部楼层
你接受数据是一次接收一个判断完才能接受下一个,那你的单片机要接收几K数据岂不要累死。

上边已经说得很清楚了,定义一个数组,接收一个存一个,把接收数据存完以后再进行判断。

推荐原子哥的不完全手册串口接收部分。
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
55
金钱
55
注册时间
2014-8-11
在线时间
1 小时
 楼主| 发表于 2014-11-19 15:35:01 | 显示全部楼层
回复【4楼】龙之谷:
---------------------------------
我是以回车符来判断终止的。数据都是放在BUF里,但是就是不知道怎么分开放比较好。。。。
就是不知道怎么定义数组把BUF的数据分开。
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2014-11-19 15:53:10 | 显示全部楼层
BUF是51用的吧
stm32中定义一个数组,接受一个赋值一次

table = USART2->DR;
i++;
if(i>2)
i = 0;

1.对接收中断理解模糊
2.对自己思路过于执着
如果你再按照自己想法往前走,我就爱莫能助了,最后补充一句,还是推荐你尽快看一下原子哥不完全手册串口这个实验
以我资质之鲁钝,当尽平心静气、循序渐进、稳扎稳打之力。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-28 23:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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