lujianhao891204 发表于 2018-1-25 11:20:29

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

STM8AF5268 单片机u8 变量只能接收小于129的数据,但是我看了定义,u8确实是unsigned char,所以请问大神到底是什么问题。

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_ts32;
typedef int16_t s16;
typedef int8_ts8;

typedef uint32_tu32;
typedef uint16_t u16;
typedef uint8_tu8;


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的数据,就无法显示

toofree 发表于 2018-1-25 12:07:57

没有图,不知道你在说什么?


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

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

yu0405jie 发表于 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吧。

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
页: [1]
查看完整版本: STM8AF5268 单片机u8 变量只能接收小于129的数据