你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8AF5268 单片机u8 变量只能接收小于129的数据

[复制链接]
lujianhao891204 提问时间:2018-1-25 11:20 /
STM8AF5268 单片机u8 变量只能接收小于129的数据,但是我看了定义,u8确实是unsigned char,所以请问大神到底是什么问题。
收藏 评论6 发布时间:2018-1-25 11:20

举报

6个回答
lujianhao891204 回答时间:2018-1-25 11:23:12
/*!< Signed integer types  */
typedef   signed char     int8_t;
typedef   signed short    int16_t;
typedef   signed long     int32_t;

/*!< Unsigned integer types  */
typedef unsigned char     uint8_t;
typedef unsigned short    uint16_t;
typedef unsigned long     uint32_t;

/*!< STM8 Standard Peripheral Library old types (maintained for legacy purpose) */

typedef int32_t  s32;
typedef int16_t s16;
typedef int8_t  s8;

typedef uint32_t  u32;
typedef uint16_t u16;
typedef uint8_t  u8;


typedef enum {FALSE = 0, TRUE = !FALSE} bool;

typedef enum {RESET = 0, SET = !RESET} FlagStatus, ITStatus, BitStatus, BitAction;

typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
#define IS_FUNCTIONALSTATE_OK(STATE) (((STATE) == DISABLE) || ((STATE) == ENABLE))

typedef enum {ERROR = 0, SUCCESS = !ERROR} ErrorStatus;

#define U8_MAX     (255)
#define S8_MAX     (127)
#define S8_MIN     (-128)
#define U16_MAX    (65535u)
#define S16_MAX    (32767)
#define S16_MIN    (-32768)
#define U32_MAX    (4294967295uL)
#define S32_MAX    (2147483647)
#define S32_MIN    (-2147483648uL)
这个是定义
lujianhao891204 回答时间:2018-1-25 11:27:20
这里 u8 MAX明明是255,但是我却只能接收129以下的,否则接收到的数据只能显示位空的

C:\Documents and Settings\Administrator\桌面\1111
这个是发送的小于129的数据,没有问题


C:\Documents and Settings\Administrator\桌面\2222
这个是发送的大于128的数据,就无法显示
七哥 回答时间:2018-1-25 12:07:57
没有图,不知道你在说什么?
傲游截图20180125120816.jpg

如果怀疑发的有符号数的话,你可以发个 -1 试试。

把你的工程发上来吧,有可能不是你描述的问题,是其它方面有问题。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

随风飘扬 回答时间:2018-1-25 13:21:19
把你的图在发一遍吧,
wenyangzeng 回答时间:2018-1-25 13:45:17
本帖最后由 wenyangzeng 于 2018-1-25 17:20 编辑
lujianhao891204 发表于 2018-1-25 11:27
这里 u8 MAX明明是255,但是我却只能接收129以下的,否则接收到的数据只能显示位空的

#define U8_MAX     (255)
这个U8和u8好像不同,

看不到你的赋值代码。
假如函数中键入
u8 i=U8_MAX;
运行后 i应该不会等于0x7f吧。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

zero99 回答时间:2018-1-25 14:14:22
lujianhao891204 发表于 2018-1-25 11:27
这里 u8 MAX明明是255,但是我却只能接收129以下的,否则接收到的数据只能显示位空的

楼主发帖前可以看看链接,如何上传照片
https://www.stmcu.org.cn/module/forum/thread-612788-1-1.html
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版