野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8898|回复: 3

在f429串口中断里给全局变量赋值不可以吗?

[复制链接]
发表于 2017-11-19 17:52:23 | 显示全部楼层 |阅读模式
本来很简单一个问题,出了奇怪的故障。如图一,在串口中断里给全局变量数组charU赋接收到的值,logo使数组下标自动加一。但是我输入123,在主函数里输出却是这种情况,如图二.....也就是,用printf直接%s输出可以输出123,但是单个十六进制输出确是这个东西,并且用strlen监测也只能检测出里面只有一个字符.....这是为什么啊?各位老师有遇到过的吗?可以借我解惑一下吗~

图一

图一

图二输出代码

图二输出代码

图二实际输出

图二实际输出
回复

使用道具 举报

发表于 2017-11-19 17:55:11 | 显示全部楼层
上位机发送的是字符,字符1好像就是31
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 14:12:07 | 显示全部楼层
fire 发表于 2017-11-19 17:55
上位机发送的是字符,字符1好像就是31

但是问题是我用上位机给串口发送的是123,是三个数。但是用strlen只能检测到一个数,甚至分别将数组里的数单个输出也只有0下标有数据.....为啥,我明明发送的三个数据啊,后两个怎么没了?而且,说没了吧,用%s输出字符串又能正常输出....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-11-20 14:13:58 | 显示全部楼层
fire 发表于 2017-11-19 17:55
上位机发送的是字符,字符1好像就是31

用%s输出字符串就是三个数据,直接用下标调用就只能有一个数据.....老师这是为啥呀....
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-24 04:38 , Processed in 0.030355 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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