OpenEdv-开源电子网

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

求救!!!STM32F4如何将串口发送的数字附给一个自定义的量

[复制链接]

3

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2017-2-16
在线时间
6 小时
发表于 2017-2-16 15:40:18 | 显示全部楼层 |阅读模式
1金钱
刚学习STM32F4407,如何将串口发送的数字附给一个自定义的量,例如 就是将  串口发送的数字 200,赋值给a  ,  可以让a进行4则运算,谢谢各位大神!!!!

最佳答案

查看完整内容[请看2#楼]

這是因為終端機輸出的是ASCII,你收到的數據只要減0x30就好了 你要用字串當輸入通常要有協議,例如: 用$當開頭字符 用#當結數字符 當你輸入 $123# 或 $1234# 接收時才能分辨有幾位數 從你存放的Buff中 一個byte 一個byte去處理 作到這裡只跟C語言程度有關係了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

60

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2814
金钱
2814
注册时间
2012-10-17
在线时间
653 小时
发表于 2017-2-16 15:40:19 | 显示全部楼层
這是因為終端機輸出的是ASCII,你收到的數據只要減0x30就好了

你要用字串當輸入通常要有協議,例如: 用$當開頭字符 用#當結數字符

當你輸入 $123# 或 $1234# 接收時才能分辨有幾位數  

從你存放的Buff中 一個byte 一個byte去處理

作到這裡只跟C語言程度有關係了

回复

使用道具 举报

28

主题

288

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1213
金钱
1213
注册时间
2011-4-9
在线时间
97 小时
发表于 2017-2-16 17:12:01 | 显示全部楼层
a=串口数据寄存器
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2017-2-16
在线时间
6 小时
 楼主| 发表于 2017-2-16 19:08:48 | 显示全部楼层

取不出来啊  这样    a要能用来用算的
回复

使用道具 举报

3

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2017-2-16
在线时间
104 小时
发表于 2017-2-16 20:38:35 | 显示全部楼层
开串口中断,进中断调用接收函数,然后把接收函数收到的数给你想要的变量
回复

使用道具 举报

9

主题

87

帖子

0

精华

初级会员

Rank: 2

积分
171
金钱
171
注册时间
2016-11-14
在线时间
32 小时
发表于 2017-2-17 10:09:17 | 显示全部楼层
定义一个全局变量a,a = 接收寄存器
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2017-2-16
在线时间
6 小时
 楼主| 发表于 2017-2-17 10:29:43 | 显示全部楼层
懂武懂武 发表于 2017-2-16 20:38
开串口中断,进中断调用接收函数,然后把接收函数收到的数给你想要的变量

还是取不出来,接收的是16进制的数
回复

使用道具 举报

60

主题

409

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2814
金钱
2814
注册时间
2012-10-17
在线时间
653 小时
发表于 2017-2-17 10:36:03 | 显示全部楼层
你的問題是不是用終端機發出200
結果MCU收到的是 0x32 0x30 0x30
然後你不知道怎麼把這3byte變成一個 200

回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2017-2-16
在线时间
6 小时
 楼主| 发表于 2017-2-17 10:45:08 | 显示全部楼层
civic7366 发表于 2017-2-17 10:36
你的問題是不是用終端機發出200
結果MCU收到的是 0x32 0x30 0x30
然後你不知道怎麼把這3byte變成一個 20 ...

对    就是这样    让后我想把这个200附给  a    让a进行运算
回复

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2017-2-16
在线时间
6 小时
 楼主| 发表于 2017-2-17 11:06:59 | 显示全部楼层
知道了    谢谢
回复

使用道具 举报

3

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1126
金钱
1126
注册时间
2017-2-16
在线时间
104 小时
发表于 2017-2-17 11:14:43 | 显示全部楼层
串口发送和接收都是一个字节的,如果你发数小于256直接赋值就行,如果大于256就分成低八位和高八位发送最后放在数组里最后加在一起赋值给你的变量
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 16:32

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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